[dependencies]
hex = "0.4.2"
功能
decode和decode_to_slice
assert_eq!(
hex::decode("48656c6c6f20776f726c6421"),
Ok("Hello world!".to_owned().into_bytes())
);
let mut bytes = [0u8; 4];
assert_eq!(hex::decode_to_slice("6b697769", &mut bytes as &mut [u8]), Ok(()));
assert_eq!(&bytes, b"kiwi");
encode, encode_to_slice和encode_upper
assert_eq!(hex::encode("Hello world!"), "48656c6c6f20776f726c6421");
let mut bytes = [0u8; 4 * 2];
hex::encode_to_slice(b"kiwi", &mut bytes)?;
assert_eq!(&bytes, b"6b697769");
assert_eq!(hex::encode_upper("Hello world!"), "48656C6C6F20776F726C6421");
serde支持
use serde::{Serialize, Deserialize};
#[derive(Serialize, Deserialize)]
struct Foo {
#[serde(with = "hex")]
bar: Vec<u8>,
}
小結
本文分享自微信公衆號 - Rust語言中文社區(rust-china)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。微信