Sample code for 30+ languages & platforms
Rust

Ascii85 Encoding and Decoding

See more Encryption Examples

Demonstrates ascii85 encoding and decoding.

Note: Requires Chilkat v9.5.0.79 or greater.

Chilkat Rust Downloads

Rust

// First demonstrate encoding strings to ascii85 and back.
let sb = chilkat::StringBuilder::new();

let _ = sb.append("Man is distinguished, not only by his reason, but by this singular passion from other animals, which is a lust of the mind, that by a perseverance of delight in the continued and indefatigable generation of knowledge, exceeds the short vehemence of any carnal pleasure.").is_ok();

let mut encoded_ascii85 = sb.get_encoded("ascii85", "utf-8").unwrap_or_default();
println!("{}", encoded_ascii85);

// Result is: 9jqo^BlbD-BleB1DJ+*+F(f,q/0JhKF<GL>Cj@.4 ... DII?(E,9)oF*2M7/c

// Decode back to the original:
sb.clear();
let _ = sb.append(&encoded_ascii85);
let _ = sb.decode("ascii85", "utf-8").is_ok();
println!("Original:");
println!("{}", sb.get_as_string().unwrap_or_default());

// ---- Now encode binary data to ascii85 ----
let bd = chilkat::BinData::new();
let _ = bd.load_file("qa_data/jpg/starfish20.jpg").is_ok();
encoded_ascii85 = bd.get_encoded("ascii85").unwrap_or_default();
println!("{}", encoded_ascii85);

// Result is:  s4IA0!"_al8O`[\!<E0k!([(is8E!F7VQ[M+Eqj?FED)3+C]U=6"Fn ...

// Decode...
let _ = bd.clear();
let _ = bd.append_encoded(&encoded_ascii85, "ascii85");
let _ = bd.write_file("qa_output/starfish20.jpg").is_ok();