2 releases
0.0.4 | Dec 16, 2023 |
---|---|
0.0.3 | Dec 14, 2023 |
#108 in No standard library
72 downloads per month
20KB
350 lines
utf8-parser
A stateful one-byte-at-a-time UTF-8 parser. This is useful for things like building characters from bytes pulled from a UART.
Example
use utf8_parser::Utf8Parser;
let mut parser = Utf8Parser::new();
assert!(parser.push(0xf0).unwrap().is_none());
assert!(parser.push(0x9f).unwrap().is_none());
assert!(parser.push(0x8e).unwrap().is_none());
assert_eq!(parser.push(0x84).unwrap(), Some('🎄'));
Crate Features
std
- Enables the std::error::Error implementation onUtf8ParserError
error_in_core
- Same asstd
, but with core::error::Error. Currently requires Nightly and#![feature(error_in_core)]
. Has no effect if thestd
feature is enabled.
Similar crates
- utf8parse - by the Alacritty project
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE)
- MIT license (LICENSE-MIT)
at your option.