Maison >développement back-end >C++ >Comment convertir efficacement entre les tableaux d'octets et les chaînes hexadécimales dans .NET?
Convertir efficacement les tableaux d'octets et les chaînes hexadécimales dans .NET
De nombreuses tâches de programmation nécessitent une conversion entre les tableaux d'octets et leurs représentations de chaînes hexadécimales. .NET offre plusieurs méthodes, chacune avec différents niveaux d'efficacité en fonction de la version .NET.
.NET moderne (5 et plus tard):
.NET 5 et les versions ultérieures fournissent des fonctions intégrées optimisées:
Convert.ToHexString()
: convertit un tableau d'octets directement en une chaîne hexadécimale. Convert.FromHexString()
: convertit une chaîne hexadécimale en un tableau d'octets. Ces méthodes sont généralement l'approche la plus efficace et recommandée pour les nouveaux projets .NET. Versions .NET plus anciennes:
Pour les frameworks .NET plus anciens, une conversion manuelle est nécessaire. Voici quelques méthodes courantes:
Méthode 1: StringBuilder
Approche (pour la conversion de chaîne hexadécimale):
<code class="language-csharp">public static string ByteArrayToHex(byte[] ba) { StringBuilder hex = new StringBuilder(ba.Length * 2); foreach (byte b in ba) hex.AppendFormat("{0:x2}", b); return hex.ToString(); }</code>
Méthode 2: BitConverter
Approche (pour la conversion de chaîne hexadécimale):
<code class="language-csharp">public static string ByteArrayToHex(byte[] ba) { return BitConverter.ToString(ba).Replace("-", ""); }</code>
HexaDecimal String to octet Conversion du tableau:
<code class="language-csharp">public static byte[] HexStringToByteArray(string hex) { int len = hex.Length; byte[] arr = new byte[len / 2]; for (int i = 0; i < len; i += 2) { arr[i / 2] = Convert.ToByte(hex.Substring(i, 2), 16); } return arr; }</code>
Considérations de performance:
Bien que Substring
et Convert.ToByte
soient généralement efficaces, la méthode optimale dépend de l'application spécifique. Les méthodes intégrées de .NET 5 offrent le meilleur équilibre des performances. Pour les versions plus anciennes, le profilage de votre code aidera à déterminer l'approche la plus rapide pour votre cas d'utilisation. Considérez les compromis entre les performances et la lisibilité du code lors du choix d'une méthode.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!