utf8

Function utf8 

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

A UTF-8 encoded u8 decoder.

§Examples

use somen::prelude::*;

let mut parser = utf8();
let mut stream = stream::from_slice(b"A\xC3\x85\xE3\x81\x82\xF0\x9F\x92\xAF\xC0\xAF");

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());