Comment convertir un tableau d'octets en chaîne hexadécimale et inversement en C# ?
Bonjour à tous ! Je suis un développeur C# débutant et j'ai rencontré un problème en travaillant avec des données binaires. Je dois sauvegarder un tableau d'octets (par exemple, un hash SHA256) dans un fichier texte, puis le relire. J'ai compris qu'on ne peut pas simplement écrire les octets tels quels — cela donne du charabia. Il faut les convertir en une chaîne de caractères hexadécimaux, puis lors de la lecture, retransformer cette chaîne en tableau d'octets.
J'ai essayé de le faire moi-même, mais mon code ne fonctionne pas correctement. Voici ce que j'ai écrit :
byte[] data = { 0x0F, 0xBA, 0x01, 0xFF };
string hex = "";
foreach (byte b in data)
{
hex += b.ToString("X");
}
// Résultat : "FBA1FF" — sans les zéros non significatifs !
Console.WriteLine(hex);
Quand j'essaie de relire cette chaîne, je ne peux pas déterminer où un octet se termine et où le suivant commence. Par exemple, la chaîne "FBA1FF" peut être interprétée de différentes manières : {0xFB, 0xA1, 0xFF} ou {0x0F, 0xBA, 0x1F, 0xF} — c'est incorrect.
J'ai entendu parler de
No answers yet.
Connectez-vous pour laisser une réponse