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
Freigeben: 2025-02-03 08:23:09
Original
275 Leute haben es durchsucht

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>
Nach dem Login kopieren

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

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

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>
Nach dem Login kopieren

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

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

In Sechskantaiten in Byte -Arrays

konvertieren

Die umgekehrte Umwandlung ist gleich wichtig:

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

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage