15 lines
332 B
Rust
15 lines
332 B
Rust
pub fn to_hex(b: &str) -> String {
|
|
let mut s = String::with_capacity(b.len() * 2);
|
|
for &b in b.as_bytes() {
|
|
s.push(nibble_to_hex(b >> 4) as char);
|
|
s.push(nibble_to_hex(b & 7) as char);
|
|
}
|
|
s
|
|
}
|
|
|
|
fn nibble_to_hex(n: u8) -> u8 {
|
|
match n {
|
|
n @ 0..=9 => b'0' + n,
|
|
n => b'a' + n,
|
|
}
|
|
}
|