Чтобы преобразовать двоичные данные в текст ASCII с использованием кодировки Base64 в Rust в соответствии с RFC 4648, вы можете использовать различные методы. Вот несколько примеров:
Метод 1: использование крейта base64
Самый простой способ — использовать крейт base64, который предоставляет функции для кодирования и декодирования данных Base64. Вы можете добавить ящик в файл Cargo.toml:
[dependencies]
base64 = "0.13"
Затем вы можете использовать следующий фрагмент кода:
use base64::{encode, decode};
fn main() {
let binary_data = [0xDE, 0xAD, 0xBE, 0xEF];
// Encoding binary data to Base64
let encoded_data = encode(&binary_data);
println!("Encoded data: {}", encoded_data);
// Decoding Base64 data back to binary
let decoded_data = decode(&encoded_data).unwrap();
println!("Decoded data: {:?}", decoded_data);
}
Метод 2: использование контейнера data_encoding.
Другой вариант — использовать контейнер data_encoding, который предоставляет аналогичный интерфейс для кодирования и декодирования Base64. Вы можете добавить его в свой файл Cargo.toml:
[dependencies]
data-encoding = "2.3"
Пример использования:
use data_encoding::BASE64;
fn main() {
let binary_data = [0xDE, 0xAD, 0xBE, 0xEF];
// Encoding binary data to Base64
let encoded_data = BASE64.encode(&binary_data);
println!("Encoded data: {}", encoded_data);
// Decoding Base64 data back to binary
let decoded_data = BASE64.decode(&encoded_data.as_bytes()).unwrap();
println!("Decoded data: {:?}", decoded_data);
}