nom::number::streaming

Function hex_u32

Source
pub fn hex_u32<I, E: ParseError<I>>(input: I) -> IResult<I, u32, E>
where I: Input + AsBytes, <I as Input>::Item: AsChar,
Expand description

Recognizes a hex-encoded integer.

Streaming version: Will return Err(nom::Err::Incomplete(_)) if there is not enough data.

use nom::number::streaming::hex_u32;

let parser = |s| {
  hex_u32(s)
};

assert_eq!(parser(&b"01AE;"[..]), Ok((&b";"[..], 0x01AE)));
assert_eq!(parser(&b"abc"[..]), Err(Err::Incomplete(Needed::new(1))));
assert_eq!(parser(&b"ggg"[..]), Err(Err::Error((&b"ggg"[..], ErrorKind::IsA))));