Flitze
|
Administrator
|
|
registriert
|
17.10.2006
|
wohnt in
|
Eschwege
|
Beiträge
|
332
|
|
Ich habe einige Funktionen, die die Auswahl des Encodings (=Zeichensatzes) ermöglichen, in der eine Datei gespeichert werden soll. Bei dem Speichern im UTF-8 Format gibt es jedoch die Unart, dass ein sog. BOM (Byte Order Mark) an den Anfang der Datei gesetzt wird. Einige Applikationen benötigen dieses um UTF-8 zu erkennen.
Ich fand dieses Verhalten jedoch störend und habe deshalb das Hinzufügen des BOMs deaktiviert. Dazu möchte ich 2 Dinge erwähnen:
- Encoding.UTF8 hat das BOM immer aktiviert
- UTF8Encoding kann das BOM mittels deaktivieren, wenn es mit new UTF8Encoding(false) erzeugt wird.
Die Lösung für mich sah also so aus, dass ich statt
Code:
Encoding enc = Encoding.UTF8;
folgendes geschrieben habe
Code:
Encoding enc = new UTF8Encoding(false);
Keywords
C# UTF-8 Encoding ohne BOM
C# BOM deaktivieren
C# speichern ohne BOM
UTF-8 BOM C#
|