Function bczhc_lib::utf8::encode_utf8

source ·
pub fn encode_utf8(codepoint: u32, dest: &mut [u8]) -> usize
Expand description

Examples

use bczhc_lib::utf8::encode_utf8;

let mut dest: [u8; 4] = [0, 0, 0, 0];

let size = encode_utf8('a' as u32, &mut dest);
assert_eq!(size, 1);
assert_eq!(String::from_utf8(Vec::from(&dest[..size as usize])).unwrap(), "a");

let size = encode_utf8('©' as u32, &mut dest);
assert_eq!(size, 2);
assert_eq!(String::from_utf8(Vec::from(&dest[..size as usize])).unwrap(), "©");

let size = encode_utf8('好' as u32, &mut dest);
assert_eq!(size, 3);
assert_eq!(String::from_utf8(Vec::from(&dest[..size as usize])).unwrap(), "好");

let size = encode_utf8('🍎' as u32, &mut dest);
assert_eq!(size, 4);
assert_eq!(String::from_utf8(Vec::from(&dest[..size as usize])).unwrap(), "🍎");