pub fn decode_hex(s: &str) -> Result<Vec<u8>, String>
Decode a lowercase/uppercase hex string into bytes, fail-closed on odd length / non-hex.