frunge-internal
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

BOM (was: Re: [Frunge] Fragen zur Dokumentation)


From: Dennis Heidsiek
Subject: BOM (was: Re: [Frunge] Fragen zur Dokumentation)
Date: Sun, 21 Jun 2009 15:28:27 +0200
User-agent: Thunderbird 2.0.0.21 (Windows/20090302)

Hallo allerseits,


Arno Trautmann ſchrieb am 21.06.2009 11:39 Uhr:
Dennis Heidsiek wrote:
… das kommt wahrscheinlich davon, dass ich auf das BOM verzichtet habe so dass 
die Kodierung nicht mehr eindeutig ist ;-).

Äh – BOM hat in utf-8 doch auch gar nichts zu suchen? Das ist nur in utf-16, um 
Little Endian von Big Endian zu unterscheiden. Oder hab ich was falsch 
verstanden?

Ich habe gerade ein massives Déjà-vu-Erlebniss – genau diese Diskussion hatten wir schon auf der Neo-Liste. Kurz gesagt ist es vom Standard explizit erlaubt, aber nicht empfohlen, UTF-8-kodierten Text mit einem BOM zu beginnen; in diesem Fall fungiert die entsprechende Bytesequenz (die sich von dem UTF-16-BE/LE-BOMs unterscheidet) als »Magic Number«, damit Programme die UTF-8-Kodierung besser erkennen können:

Die UTF-8-Kodierung des BOM besteht aus der Bytesequenz EF BB BF, die in nicht UTF-8-fähigen Texteditoren und Browsern meist als ISO-8859-1-Zeichen  erscheinen. Bei UTF-8 stellt sich das Problem der Byte-Reihenfolge zwar nicht, doch ein BOM am String- oder Dateianfang ist erlaubt, um die Verwendung von UTF-8 als Kodierung zu kennzeichnen. Eine sichere Unterscheidung zwischen UTF-8 und den ISO-8859-Zeichensätzen ist dadurch zwar nicht gewährleistet, da in den 8-Bit-Zeichensätzen alle Bytesequenzen erlaubt sind, auch die UTF-8-Kodierung des BOM; wenn aber die Alternative speziell UTF-8 oder ISO 8859-1 ist, ist die pragmatische Annahme, dass die Zeichenfolge  nicht gemeint ist, durchaus üblich.Wird ein BOM verwendet, kann es jedoch auch zu Problemen mit Programmen kommen, die kein Byte Order Mark erwarten oder kennen. So wird in Unix-artigen Umgebungen oft die Shebang verwendet, welche ebenfalls am Dateianfang stehen muss.
http://de.wikipedia.org/wiki/Byte_Order_Mark


Viele Grüße,
Dennis-ſ




reply via email to

[Prev in Thread] Current Thread [Next in Thread]