Maison > développement back-end > C++ > Comment convertir efficacement les tableaux d'octets et les chaînes hexadécimales dans .NET?

Comment convertir efficacement les tableaux d'octets et les chaînes hexadécimales dans .NET?

Patricia Arquette
Libérer: 2025-02-03 08:23:09
original
275 Les gens l'ont consulté

How to Efficiently Convert Byte Arrays and Hex Strings in .NET?

Mastering Byte Array et Hex String Conversions dans .NET

.NET Les développeurs rencontrent fréquemment la nécessité de convertir entre les réseaux d'octets et les chaînes hexadécimales. Ce guide explore des méthodes efficaces pour ces conversions.

Conversion des tableaux d'octets en chaînes hexadécimales

à partir de .net 5, Convert.ToHexString offre la solution la plus simple et la plus efficace:

<code class="language-csharp">string hexString = Convert.ToHexString(byteArray);</code>
Copier après la connexion

Pour les plus anciens frameworks .NET, considérez ces alternatives:

<code class="language-csharp">hexString = ByteArrayToHex(byteArray);</code>
Copier après la connexion

ByteArrayToHex est défini comme:

<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>
Copier après la connexion

Une autre option viable, bien que potentiellement moins efficace:

<code class="language-csharp">hexString = BitConverter.ToString(byteArray).Replace("-", "");</code>
Copier après la connexion

Convertir des chaînes hexadécimales en tableaux d'octets

La conversion inverse est tout aussi importante:

<code class="language-csharp">byte[] byteArray = HexToStringArray(hexString);</code>
Copier après la connexion

La fonction HexToStringArray peut être implémentée comme:

<code class="language-csharp">public static byte[] HexToStringArray(string hex)
{
    int numChars = hex.Length;
    byte[] bytes = new byte[numChars / 2];
    for (int i = 0; i < numChars; i += 2)
        bytes[i / 2] = Convert.ToByte(hex.Substring(i, 2), 16);
    return bytes;
}</code>
Copier après la connexion

Optimisation des performances

Pour des performances optimales, en particulier avec les grands ensembles de données, évitez d'utiliser Convert.ToByte avec Substring. L'itération directe et la manipulation des bits fournissent des améliorations substantielles des performances.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal