use gsm7_alt::{Gsm7Config, decode, encode, encoded_len, is_gsm7_compatible};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let text = "Hello {world} €!";
println!("Original: {}", text);
println!("GSM 7-bit compatible: {}", is_gsm7_compatible(text));
println!("Encoded length: {} bytes", encoded_len(text)?);
let encoded = encode(text)?;
println!("Encoded: {:?}", encoded);
let decoded = decode(&encoded)?;
println!("Decoded: {}", decoded);
let emoji_text = "Hello 🦀 World";
let config = Gsm7Config {
strict: false,
replacement_char: '?',
};
let encoded_with_replacement = gsm7_alt::encode_with_config(emoji_text, &config)?;
let decoded_with_replacement = decode(&encoded_with_replacement)?;
println!(
"With replacement: {} -> {}",
emoji_text, decoded_with_replacement
);
Ok(())
}