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}