/// Alternative implementation of `std::fmt::Debug` for byte slice. /// /// Standard `Debug` implementation for `[u8]` is comma separated /// list of numbers. Since large amount of byte strings are in fact /// ASCII strings or contain a lot of ASCII strings (e. g. HTTP), /// it is convenient to print strings as ASCII when possible. impl Debug for BytesRef<'_> { fn fmt(&self, f: &mut Formatter<'_>) -> Result {
write!(f, "b\"")?; for &b inself.0 { // https://doc.rust-lang.org/reference/tokens.html#byte-escapes if b == b'\n' {
write!(f, "\\n")?;
} elseif b == b'\r' {
write!(f, "\\r")?;
} elseif b == b'\t' {
write!(f, "\\t")?;
} elseif b == b'\\' || b == b'"' {
write!(f, "\\{}", b as char)?;
} elseif b == b'\0' {
write!(f, "\\0")?; // ASCII printable
} elseif (0x20..0x7f).contains(&b) {
write!(f, "{}", b as char)?;
} else {
write!(f, "\\x{:02x}", b)?;
}
}
write!(f, "\"")?;
Ok(())
}
}
impl Debug for Bytes { fn fmt(&self, f: &mut Formatter<'_>) -> Result {
Debug::fmt(&BytesRef(self.as_ref()), f)
}
}
impl Debug for BytesMut { fn fmt(&self, f: &mut Formatter<'_>) -> Result {
Debug::fmt(&BytesRef(self.as_ref()), f)
}
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-06-17)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.