Heim > Backend-Entwicklung > C++ > Wie kann man Byte -Arrays effizient in Hexadezimalstrings umwandeln und umgekehrt?

Wie kann man Byte -Arrays effizient in Hexadezimalstrings umwandeln und umgekehrt?

Susan Sarandon
Freigeben: 2025-02-03 08:09:38
Original
234 Leute haben es durchsucht

How to Efficiently Convert Byte Arrays to Hexadecimal Strings and Vice Versa?

effizient umwandelnden Byte -Arrays und hexadezimalen Zeichenfolgen

Viele Anwendungen erfordern die Umwandlung von Byte -Arrays in Hexadezimalstränge und umgekehrt. In diesem Artikel werden effiziente Methoden für diese Konvertierung in .NET.

untersucht

Byte -Array zu hexadezimaler String

.NET 5 und später die einfachste Lösung mit Convert.ToHexString:

bieten
byte[] byteArray = { 1, 2, 3 };
string hexString = Convert.ToHexString(byteArray); 
Nach dem Login kopieren

Für ältere .NET -Frameworks bieten zwei Alternativen eine ähnliche Funktionalität:

Methode 1 (mit StringBuilder):

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();
}
Nach dem Login kopieren

Methode 2 (mit BitConverter):

public static string ByteArrayToHex(byte[] ba)
{
  return BitConverter.ToString(ba).Replace("-", "");
}
Nach dem Login kopieren

hexadezimale Zeichenfolge zum Byte -Array

Eine hexadezimale Zeichenfolge in ein Byte -Array konvertieren kann mit dieser Methode erreicht werden:

public static byte[] HexToByteArray(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;
}
Nach dem Login kopieren

Für eine verbesserte Leistung vermeidet die Verwendung von Substring mit Convert.ToByte direkt unnötige Zwischenkonvertierungen. Dieser Ansatz ist besonders vorteilhaft im Umgang mit großen Byte -Arrays.

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

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