Skip to main content

codec_multibase/
encode.rs

1// SPDX-FileCopyrightText: Copyright © 2026 ReallyMe LLC. All rights reserved
2//
3// SPDX-License-Identifier: Apache-2.0
4
5use codec_base64url::bytes_to_base64url;
6
7use crate::{base58btc_encode, Base58Error};
8
9/// Encode bytes using multibase base58btc with the `z` prefix.
10pub fn bytes_to_multibase58btc(bytes: &[u8]) -> Result<String, Base58Error> {
11    base58btc_encode(bytes).map(|encoded| {
12        let mut output = String::with_capacity(encoded.len() + 1);
13        output.push('z');
14        output.push_str(&encoded);
15        output
16    })
17}
18
19/// Encode bytes using multibase base64url with the `u` prefix.
20pub fn bytes_to_multibase_base64url(bytes: &[u8]) -> String {
21    format!("u{}", bytes_to_base64url(bytes))
22}