do it the right way

This commit is contained in:
Cappy Ishihara 2024-06-02 03:48:29 +07:00
parent 36b4a79a7e
commit e6f3a4f7a4
No known key found for this signature in database
GPG key ID: 50862C285CB76906

View file

@ -20,23 +20,10 @@ pub fn rand() -> [u8; 50] {
pub fn bytes_into_string(code: &[u8]) -> String {
// This *might* be the correct way to do it.
// code.iter().map(|byte| format!("{:02x}", byte)).collect::<String>() // ????? Why do you need this? Why not just String::from_utf8()??
// code.iter().map(|byte| format!("{:02x}", byte)).collect::<String>() // ????? Why do you need this? Why not just hex::encode?
// So we need to turn each byte into a string with a 2-digit hexadecimal representation apparently...
let test_res = hex::encode(code);
let res = code.iter().fold(String::new(), |mut acc, byte| {
acc.push_str(&format!("{:02x}", byte));
acc
}); // This is the same as the above, but with a fold instead of a map
tracing::debug!(?test_res, ?res, "bytes_into_string");
// Can we do this with hex::encode instead?
res
hex::encode(code) // This is the correct way to do it.
// String::from_utf8_lossy(code).to_string() // Tried this, causes corrupted string
}