Umwandlung einer binären Datei in einen string und Umgekehrt
Erstellte ich einen webservice gibt eine (Binär -) Datei. Ich kann leider nicht verwenden, byte[] so habe ich zum konvertieren des byte-array in einen string.
Was ich im moment tun, ist die folgende (aber es nicht funktioniert):
Konvertieren Sie die Datei auf string:
byte[] arr = File.ReadAllBytes(fileName);
System.Text.UnicodeEncoding enc = new System.Text.UnicodeEncoding();
string fileAsString = enc.GetString(arr);
Um zu überprüfen, ob dies korrekt funktioniert, ich wandeln es zurück über:
System.Text.UnicodeEncoding enc = new System.Text.UnicodeEncoding();
byte[] file = enc.GetBytes(fileAsString);
Aber am Ende sind die ursprünglichen byte-Arrays und byte-array erstellt aus dem string nicht gleich sind. Muss ich eine andere Methode verwenden, Lesen Sie die Datei in ein byte-array?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
Konvertieren.ToBase64String
zu konvertieren, um text undKonvertieren.FromBase64String
konvertieren wieder zurück.Encoding
wird verwendet, um konvertieren von text in eine binäre Darstellung, und von einem binäre Darstellung von text zurück zum text wieder. In diesem Fall werden Sie nicht über eine binäre Darstellung von text - Sie müssen nur beliebige binäre Daten... soEncoding
ungeeignet ist. Selbst wenn Sie eine Verschlüsselung, die können "Art" handle beliebige binäre Daten (z.B. ISO Latin 1) Sie werden feststellen, dass viele Möglichkeiten der übertragung von text einen Fehler, wenn du hast steuerzeichen etc.Base64-Codierung geben Sie text, der nur ASCII-und viel einfacher zu handhaben.