Re: Default Encoding ändern

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance




Könnte .NET das Encoding einer Text Datei auch selbst ermitteln?

Klar, das funktioniert zuverlässig, wenn die Text Datei (sic!) ein BOM
verwendet. Man sollte deshalb alle Textdateien (bspw. .vb, .css, .txt,
.html) mit einer UTF-Codierung und dem entsprechenden BOM speichern,
idealerweise UTF-8. Predige ich schon seit Jahren. BOMs sind die
einzige Codierungsdeklaration, die generisch mit _allen_ Textdateien
funktioniert.


Durch deine Predigten bin ich ja erst auf BOM gekommen.
Ich öffne eine Datei mit Notepad, gehe auf Speichern unter und sehe in der DropDown Liste
eine angezeigte Codierung. Dort könnte ich sie ändern und neu speichern.

Im Ordner \Inetpub\mailroot\Badmail sind pro unzustellbarer Mail 3 Dateien:
..BAD in ANSI
..BDP in ANSI
..BDR in Unicode, so zeigt es Notepad an.

die wollte ich nach einem String durchsuchen.
Mit den "ANSI" Dateien funktioniert das einwandfrei.
In der "Unicode" Datei findet FindInFiles nichts.

Ich habe eine solche Datei mit Notepad (siehe oben) in ANSI neu gespeichert, dann funktionierts.
Das zeigt, dass es mit Notepad zu ändern geht.
Das will ich aber nicht mit 5000 Dateien so machen.

Ob in den Dateien BOM ist, ist in der Praxis egal. Ich kann das nicht beeinflussen. Ich will sie lesen.
Wie Elmar schreibt, wird Encoding.Default im Zweifelsfall verwendet.

Meine Frage, wie ich den Wert ändern kann, den Encoding.Default zurück gibt, steht also immer noch..
Ich kenne ja das Encoding der *.BDR Dateien.

Warum es Notepad richtig erkennt, und StremReader nicht, ist nicht mein Problem.

Na klar kann ich einen "Reader" mit eigener Encoding programmieren.
Aber Microsoft.VisualBasic.FileIO.FileSystem.FindInFiles macht perfekt was ich brauche.
Das ganze ist eine Consolenanwendung mit 3 Zeilen Code und ich will der Application einfach ein anderes
Default Encoding unterschieben...

Lutz



.



Relevant Pages

  • Re: Default Encoding ändern
    ... Datei funktionieren, wenn sie ein BOM hat. ... ohne BOM kann FindInFiles() nicht korrekt verarbeiten. ... Notepad zeigt die Umlaute darin trotzdem richtig an. ...
    (microsoft.public.de.german.entwickler.dotnet.vb)
  • Re: Sti_Trace.log
    ... und unter Windows ist die .log-Datei ja leider gesperrt. ... Dann erzeuge mit NOTEPAD diese Datei. ... Next by Date: ...
    (microsoft.public.de.german.windowsme)
  • Re: Bilddateien in Sql-Datenbank
    ... > abzuspeichern. ... Ich habe dazu einen BinaryWriter bzw BinaryReader ... Die neue Datei ist ... Den BOM bekommst du bestimmt durch Verwendung eines Encoding Objects ...
    (microsoft.public.de.german.entwickler.dotnet.datenbank)
  • Re: Wie Editor (Notepad) praktisch öffnen
    ... immer nur ein 'leeres' Notepad auf. ... > auf eine Datei klickst findest Du im Kontextmenü ... Prev by Date: ... Next by Date: ...
    (microsoft.public.de.german.windowsxp.sonstiges)
  • Re: How do I create a new text file with utf-8 encoding
    ... it says its a ansi encoded file. ... Notepad relies on the byte order mark (BOM) do identify Unicode files, ... file with a utf8 BOM at the start as utf8. ...
    (comp.lang.perl.misc)