Hallöle.
Also ich habe hier eine binäre Datei, für die ich keine Beschreibung habe.
Ich lese diese mit dem BinaryReader ein und bekomme lauter cryptische Zeichen.
Gehe im im Debugger auf HTMl-Ansicht, wird mir der eingelesene Stream als Text angezeigt, so ich ich es eigentlich haben möchte.
Wie kann ich das auf normalem Wege machen?
FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);//Datei öffnen
byte[] byteData = new byte[fs.Length];
fs.Read(byteData,0, (int) fs.Length);
fs.Close();
System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
string erg = enc.GetString(byteData);
Edit: Das as ich so einlese sieht so aus:
02\0.\00\0/\S\0e\0r\0a\0t\0o\0 \0c\0r\0a\0t\0...usw
Das ist doch Hex oder?
Wenn ich das Ganze mit BigEndianUnicode kodiere, kann ich es fast lesen...sind noch ne Menge chinesischer Zeichen drin, teilweise wid es aber sichtbar...
Ok wie es scheint ist die Datei UTF 8 Kodiert:
StreamReader reader = new StreamReader(path);
Encoding enc = reader.CurrentEncoding; // == UTF8
Nur, wie kann ich das umwandeln?
Hallo schuppsl,
wenns UTF-8 ist, dann ist es keine binäre Datei. Entsprechend habe ich das "binär" aus dem Titel entfernt. Eine (UTF-8-Text-)Datei "Datei einlesen, verändern und wieder schreiben" fällt allerdings klar unter [Hinweis] Wie poste ich richtig? Punkt 1.1.1 (und 1.1).
Siehe auch [Tutorial] Dateioperationen: Alles über Dateien.
herbivore