Function unicode::str::utf16_itemsExperimental
[-]
[+]
[src]
pub fn utf16_items<'a>(v: &'a [u16]) -> Utf16Items<'a>
Create an iterator over the UTF-16 encoded codepoints in v
,
returning invalid surrogates as LoneSurrogate
s.
Example
extern crate unicode; fn main() { use unicode::str::Utf16Item::{ScalarValue, LoneSurrogate}; // 𝄞mus<invalid>ic<invalid> let v = [0xD834, 0xDD1E, 0x006d, 0x0075, 0x0073, 0xDD1E, 0x0069, 0x0063, 0xD834]; assert_eq!(unicode::str::utf16_items(&v).collect::<Vec<_>>(), vec![ScalarValue('𝄞'), ScalarValue('m'), ScalarValue('u'), ScalarValue('s'), LoneSurrogate(0xDD1E), ScalarValue('i'), ScalarValue('c'), LoneSurrogate(0xD834)]); }use unicode::str::Utf16Item::{ScalarValue, LoneSurrogate}; // 𝄞mus<invalid>ic<invalid> let v = [0xD834, 0xDD1E, 0x006d, 0x0075, 0x0073, 0xDD1E, 0x0069, 0x0063, 0xD834]; assert_eq!(unicode::str::utf16_items(&v).collect::<Vec<_>>(), vec![ScalarValue('𝄞'), ScalarValue('m'), ScalarValue('u'), ScalarValue('s'), LoneSurrogate(0xDD1E), ScalarValue('i'), ScalarValue('c'), LoneSurrogate(0xD834)]);