把常用的c++转16进制的函数用rust重写了一下。
static HEX_TABLE :[char;16] = ['0','1','2','3','4','5','6','7','8','9',
'A','B','C','D','E','F'];
fn to_hex(data : impl AsRef<[u8]>) -> String {
let data = data.as_ref();
let len = data.len();
let mut res = String::with_capacity(len * 2);
for i in 0..len {
res.push(HEX_TABLE[usize::from(data[i] >> 4)] );
res.push(HEX_TABLE[usize::from(data[i] & 0x0F)]);
}
res
}
Vec的需要稍微改一下