Add lowercase hex formatting.
This commit is contained in:
@@ -84,6 +84,52 @@ fn tochar_upper(x: u64) -> char {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl fmt::LowerHex for UCN {
|
||||||
|
fn fmt(&self, fmt: &mut fmt::Formatter) -> Result<(),fmt::Error> {
|
||||||
|
for x in self.contents.iter().rev() {
|
||||||
|
fmt.write_char(tochar_lower(x >> 60))?;
|
||||||
|
fmt.write_char(tochar_lower(x >> 56))?;
|
||||||
|
fmt.write_char(tochar_lower(x >> 52))?;
|
||||||
|
fmt.write_char(tochar_lower(x >> 48))?;
|
||||||
|
fmt.write_char(tochar_lower(x >> 44))?;
|
||||||
|
fmt.write_char(tochar_lower(x >> 40))?;
|
||||||
|
fmt.write_char(tochar_lower(x >> 36))?;
|
||||||
|
fmt.write_char(tochar_lower(x >> 32))?;
|
||||||
|
fmt.write_char(tochar_lower(x >> 28))?;
|
||||||
|
fmt.write_char(tochar_lower(x >> 24))?;
|
||||||
|
fmt.write_char(tochar_lower(x >> 20))?;
|
||||||
|
fmt.write_char(tochar_lower(x >> 16))?;
|
||||||
|
fmt.write_char(tochar_lower(x >> 12))?;
|
||||||
|
fmt.write_char(tochar_lower(x >> 8))?;
|
||||||
|
fmt.write_char(tochar_lower(x >> 4))?;
|
||||||
|
fmt.write_char(tochar_lower(x >> 0))?;
|
||||||
|
}
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn tochar_lower(x: u64) -> char {
|
||||||
|
match (x as u8) & (0xF as u8) {
|
||||||
|
0x0 => '0',
|
||||||
|
0x1 => '1',
|
||||||
|
0x2 => '2',
|
||||||
|
0x3 => '3',
|
||||||
|
0x4 => '4',
|
||||||
|
0x5 => '5',
|
||||||
|
0x6 => '6',
|
||||||
|
0x7 => '7',
|
||||||
|
0x8 => '8',
|
||||||
|
0x9 => '9',
|
||||||
|
0xA => 'a',
|
||||||
|
0xB => 'b',
|
||||||
|
0xC => 'c',
|
||||||
|
0xD => 'd',
|
||||||
|
0xE => 'e',
|
||||||
|
0xF => 'f',
|
||||||
|
_ => panic!("the world is broken")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
// Conversions to/from crypto nums.
|
// Conversions to/from crypto nums.
|
||||||
|
|||||||
Reference in New Issue
Block a user