Avatar ·

Comment afficher une tranche u8 en hexadécimal en Rust ?

Bonjour, collègues ! Je suis nouveau en Rust et j'essaie de comprendre l'affichage de données binaires. J'ai une tranche `&[u8]`, par exemple un tableau d'octets obtenu après la lecture d'un fichier ou un hachage. Je dois l'afficher dans la console sous forme d'une chaîne hexadécimale familière, comme cela se fait dans d'autres langages (par exemple, `binascii.hexlify` en Python ou `%02x` en C). Le problème est que `println!("{:?}", slice)` affiche quelque chose comme `[72, 101, 108, 108, 111]` — ce sont des nombres décimaux, alors que j'ai besoin d'une chaîne comme `48656c6c6f`. J'ai essayé d'utiliser `{:X}` ou `{:02x}` dans la chaîne de format, mais cela ne fonctionne pas directement pour les tranches. Voici un exemple de code que j'ai : ```rust fn main() { let data: &[u8] = &[72, 101, 108, 108, 111]; // "Hello" en ASCII // Comment afficher data comme "48656c6c6f" ? println!("{:?}", data); // Affiche [72, 101, 108, 108, 111] } ``` Je sais qu'on peut écrire une boucle et formater manuellement chaque octet, mais cela semble lourd. Existe-t-il dans la bibliothèque standard