Konvertieren von C#-Byte[]-Arrays in Hex-Strings
Das direkte Konvertieren eines byte[]
-Arrays in einen String in C# führt oft zu unerwünschten Ergebnissen, typischerweise wird „System.Byte[]“ angezeigt. Diese Anleitung zeigt, wie Sie ein Byte-Array effizient in seine hexadezimale (hex) String-Darstellung konvertieren und dabei häufig auftretende Probleme beheben.
Methode 1: Verwendung von BitConverter
Die Klasse BitConverter
bietet eine einfache Lösung:
<code class="language-csharp">byte[] data = { 1, 2, 4, 8, 16, 32 }; string hex = BitConverter.ToString(data); // Result: 01-02-04-08-10-20 string hexNoDashes = BitConverter.ToString(data).Replace("-", ""); // Result: 010204081020</code>
Diese Methode erzeugt eine Hex-Zeichenfolge mit oder ohne Bindestriche, die die Bytewerte trennen.
Methode 2: Verwendung der Base64-Kodierung (kompakte Darstellung)
Für eine kompaktere hexadezimale Darstellung sollten Sie die Base64-Kodierung in Betracht ziehen:
<code class="language-csharp">string base64 = Convert.ToBase64String(data); // Result (will vary): AQIECBAg</code>
Base64-Kodierung bietet eine kürzere Zeichenfolgendarstellung, obwohl es sich nicht unbedingt um ein Hexadezimalformat handelt. Wählen Sie diese Methode, wenn Platzeffizienz im Vordergrund steht. Beachten Sie, dass die resultierende Zeichenfolge nicht direkt als Hexadezimalzahl interpretiert werden kann.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich ein Byte[]-Array in einen Hex-String in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!