utf16_be

Function utf16_be 

Source
pub fn utf16_be<'a, I>() -> impl Parser<I, Output = char>
where I: Positioned<Ok = u8> + ?Sized + 'a,
Expand description

A UTF-16 encoded u8 decoder. (big-endian)

ยงExamples

use somen::prelude::*;

let mut parser = utf16_be();
let mut stream = stream::from_slice(
    b"\xD8\x34\xDD\x1E\x00\x4d\x00\x75\x00\x73\x00\x69\x00\x63\xD8\x34",
);

assert_eq!(parser.parse(&mut stream).await, Ok('๐„ž'));
assert_eq!(parser.parse(&mut stream).await, Ok('M'));
assert_eq!(parser.parse(&mut stream).await, Ok('u'));
assert_eq!(parser.parse(&mut stream).await, Ok('s'));
assert_eq!(parser.parse(&mut stream).await, Ok('i'));
assert_eq!(parser.parse(&mut stream).await, Ok('c'));
assert!(parser.parse(&mut stream).await.is_err());