utf32_be

Function utf32_be 

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

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

§Examples

use somen::prelude::*;

let mut parser = utf32_be();
let mut stream = stream::from_slice(
    b"\x00\x00\x00\x41\x00\x00\x00\xC5\x00\x00\x30\x42\x00\x01\xF4\xAF\x00\x11\x00\x00",
);

assert_eq!(parser.parse(&mut stream).await, Ok('A'));
assert_eq!(parser.parse(&mut stream).await, Ok('Å'));
assert_eq!(parser.parse(&mut stream).await, Ok('あ'));
assert_eq!(parser.parse(&mut stream).await, Ok('💯'));
assert!(parser.parse(&mut stream).await.is_err());