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:
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
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:
string base64 = Convert.ToBase64String(data); // Result (will vary): AQIECBAg
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!