Avatar ·

Wie gibt man einen u8-Slice in hexadezimaler Form in Rust aus?

Hallo Kollegen! Ich bin neu in Rust und versuche, die Darstellung von Byte-Daten zu verstehen. Ich habe einen Slice `&[u8]`, zum Beispiel ein Byte-Array, das nach dem Lesen einer Datei oder Hashing erhalten wurde. Ich muss es in der Konsole als gewohnten hexadezimalen String ausgeben, wie es in anderen Sprachen gemacht wird (z.B. `binascii.hexlify` in Python oder `%02x` in C). Das Problem ist, dass einfaches `println!("{:?}", slice)` etwas wie `[72, 101, 108, 108, 111]` ausgibt – das sind Dezimalzahlen, aber ich brauche einen String wie `48656c6c6f`. Ich habe versucht, `{:X}` oder `{:02x}` im Format-String zu verwenden, aber das funktioniert nicht direkt für Slices. Hier ist ein Beispielcode, den ich habe: ```rust fn main() { let data: &[u8] = &[72, 101, 108, 108, 111]; // "Hello" in ASCII // Wie gibt man data als "48656c6c6f" aus? } ```