Detaillierte Beschreibung der Unicode-Signatur-BOM

Detaillierte Beschreibung der Unicode-Signatur-BOM
Unicode-Signatur-BOM – Was ist die BOM?
BOM ist die Abkürzung für Byte Order Mark. Es handelt sich um die Standardmarkierung zur Identifizierung der Kodierung im UTF-Kodierungsschema. In UTF-16 war es ursprünglich FF FE und in UTF-8 wird es zu EF BB BF. Dieses Flag ist optional und da UTF8-Bytes keine Reihenfolge haben, kann es verwendet werden, um zu erkennen, ob ein Bytestrom UTF-8-codiert ist. Microsoft führt diese Erkennung durch, manche Software tut dies jedoch nicht und behandelt es als normales Zeichen.

Microsoft fügt seinen eigenen Textdateien im UTF-8-Format drei Bytes EF BB BF hinzu. Programme wie Notepad unter Windows bestimmen anhand dieser drei Bytes, ob eine Textdatei ASCII oder UTF-8 ist. Dies ist jedoch nur eine von Microsoft im Geheimen vorgenommene Markierung. Für UTF-8-Textdateien auf anderen Plattformen gibt es keine solche Markierung.

Unicode-Signatur-BOM - So zeigen Sie UTF-8 an

Das bedeutet, dass eine UTF-8-Datei eine BOM haben kann oder auch nicht. Wie kann man sie also unterscheiden?
Vier Methoden.
1. Öffnen Sie die Datei mit UltraEdit-32 , wechseln Sie in den hexadezimalen Bearbeitungsmodus und prüfen Sie, ob der Dateikopf EF BB BF enthält.
2. Öffnen Sie es mit Dreamweaver, überprüfen Sie die Seiteneigenschaften und sehen Sie nach, ob vor „Unicode-Signatur-BOM einschließen“ ein Häkchen gesetzt ist.
3. Öffnen Sie die Datei mit dem Windows-Editor, wählen Sie „Speichern unter“ und prüfen Sie, ob die Standardkodierung der Datei UTF-8 oder ANSI ist. Wenn es ANSI ist, verfügt die Datei nicht über BOM.

Unicode簽名bom Unicode-Signatur-BOM

4: Öffnen Sie es mit emeditor , wählen Sie „Speichern unter“ und prüfen Sie, ob unter „Kodierung“ die Option „Unicode-Signatur (bom) hinzufügen (G)“ aktiviert ist. Wie in der Abbildung gezeigt:

Unicode Signature BOM - Probleme und Lösungen bei der Anwendung in PHP

Beachten Sie, dass beim Konvertieren einer gb2312-Datei in eine UTF-8-Datei mit Convertz die Standardeinstellung darin besteht, BOM nicht einzuschließen. Die oben genannten unleserlichen Zeichen können ohne BOM erscheinen. Wenn jedoch BOM enthalten ist, sollten Sie mit PHP-Include-Dateien vorsichtig sein, da EFBBBF vor dem PHP-Bytestream hinzugefügt wird. Die vorherige Ausgabe auf dem Display kann zu Programmfehlern führen. Eine Lösung besteht darin, alle enthaltenen Dateien als ANSI zu speichern, und die Hauptdatei kann UTF-8 sein. Um die BOM aus einer Datei zu entfernen, öffnen Sie sie mit UlterEdit, wechseln Sie in den hexadezimalen Bearbeitungsmodus, ersetzen Sie die ersten drei Bytes (dieses verdammte EFBBBF) durch 20, speichern Sie (denken Sie daran, beim Speichern die automatische Sicherungsfunktion auszuschalten), wechseln Sie dann in den Standardbearbeitungsmodus und entfernen Sie die ersten drei Leerzeichen.

Tipps zur Unicode-Signatur-BOM-Codierung

Ich habe auch einiges über die Kodierung gelernt: Die sogenannten in Unicode gespeicherten Dateien sind eigentlich UTF-16, was zufällig dasselbe ist wie der Unicode-Code, aber konzeptionell sind Unicode und UTF zwei verschiedene Dinge. Unicode ist ein Darstellungsschema für die Speicherkodierung und UTF ist ein Schema zum Speichern und Übertragen von Unicode. UTF-16 ist in zwei Typen unterteilt: High Byte First (LE) und High Byte Last (BE). Zur offiziellen UTF-Kodierung gehört auch UTF-32, welches ebenfalls in LE und BE unterteilt wird. Zur nicht-Unicode-offiziellen UTF-Kodierung gehört auch UTF-7, das vor allem für die E-Mail-Übertragung genutzt wird. Der Einzelbyte-Teil von UTF-8 ist mit ISO-8859-1 kompatibel. Dies liegt hauptsächlich daran, dass einige alte Systeme und Bibliotheksfunktionen UTF-16 nicht richtig verarbeiten können und daher nicht mehr verwendet werden. Bei englischen Zeichen wird dadurch auch Dateispeicherplatz gespart (auf Kosten der Platzverschwendung bei nicht-englischen Zeichen). Bei Verwendung von iso-8859-1 werden sowohl utf8 als auch iso-8859-1 durch ein Byte dargestellt. Bei der Darstellung anderer Zeichen verwendet utf-8 zwei oder drei Bytes.

<<:  Lösung zur Installation von Vim im Docker-Container

>>:  Detaillierte Erläuterung der zehn am häufigsten verwendeten Zeichenfolgenfunktionen in MySQL

Artikel empfehlen

Beispieloperation für die Summe des Mysql-Varchar-Typs

Einige Freunde haben beim Erlernen von Datenbanke...

Lösung für die hohe CPU-Auslastung des Tomcat-Prozesses

Inhaltsverzeichnis Fall Kontextwechsel-Overhead? ...

So stellen Sie ein Vue-Projekt unter Nginx bereit

Heute werde ich den Server nginx verwenden und mu...

Anweisungen zur Verwendung der MySQL-IndexOF-Funktion

Wie unten dargestellt: LOCATE(Teilzeichenfolge,Ze...

So löschen Sie den MySQL-Dienst vollständig (bereinigen Sie die Registrierung)

Vorwort Beim Installieren der ausführbaren Datei ...

Analyse des Prinzips und der Verwendung von MySQL-Benutzerdefinierten Funktionen

Dieser Artikel veranschaulicht anhand von Beispie...

25 Tipps und Tricks zur Div+CSS-Programmierung

1. Das ul-Tag hat in Mozilla standardmäßig einen ...

Prozessdiagramm zur Implementierung des CentOS-IP-Verbindungsnetzwerks

1. Melden Sie sich beim System an und geben Sie d...

MySQL-Methode zur Sperrensteuerung für Parallelität

Inhaltsverzeichnis Vorwort 1. Optimistisches Sper...