Heim >Backend-Entwicklung >C++ >Wie kann man Byte -Arrays und Hex -Saiten in .NET effizient konvertieren?

Wie kann man Byte -Arrays und Hex -Saiten in .NET effizient konvertieren?

Patricia Arquette
Patricia ArquetteOriginal
2025-02-03 08:23:09276Durchsuche

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

Byte -Array- und Hex -String -Conversions in .NET

Mastering -Array- und HEX -String

.NET -Entwickler begegnen häufig auf die Notwendigkeit, zwischen Byte -Arrays und hexadezimalen Saiten umzuwandeln. Dieser Leitfaden untersucht effiziente Methoden für diese Conversions.

Byte -Arrays in Hex -Zeichenfolgen

konvertieren

von .NET 5 liefert Convert.ToHexString die einfachste und effizienteste Lösung:

<code class="language-csharp">string hexString = Convert.ToHexString(byteArray);</code>

Für ältere .NET -Frameworks betrachten Sie diese Alternativen:

<code class="language-csharp">hexString = ByteArrayToHex(byteArray);</code>

wobei ByteArrayToHex definiert ist als:

<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>

Eine andere praktikable Option, obwohl möglicherweise weniger effizient:

<code class="language-csharp">hexString = BitConverter.ToString(byteArray).Replace("-", "");</code>

In Sechskantaiten in Byte -Arrays

konvertieren

Die umgekehrte Umwandlung ist gleich wichtig:

<code class="language-csharp">byte[] byteArray = HexToStringArray(hexString);</code>

Die Funktion HexToStringArray kann als:

implementiert werden
<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>

Leistungsoptimierung

für eine optimale Leistung, insbesondere bei großen Datensätzen, vermeiden Sie Convert.ToByte mit Substring. Direkte Iteration und Bitmanipulation bieten erhebliche Leistungsverbesserungen.

Das obige ist der detaillierte Inhalt vonWie kann man Byte -Arrays und Hex -Saiten in .NET effizient konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn