Function unicode::str::utf16_itemsUnstable [-] [+] [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 LoneSurrogates.

Examples

#![feature(unicode)] extern crate unicode; use unicode::str::Utf16Item::{ScalarValue, LoneSurrogate}; fn main() { // 𝄞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)]); }
extern crate unicode;

use unicode::str::Utf16Item::{ScalarValue, LoneSurrogate};

fn main() {
    // 𝄞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)]);
}