Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der Codierung in XML

Detaillierte Erläuterung der Codierung in XML

黄舟
黄舟Original
2017-03-22 16:57:171716Durchsuche

Am selben Tag habe ich mit meinen Kollegen die Beziehung zwischen dem Codierungs--Attribut in xml und dem Dateiformat besprochen und es endlich vollständig verstanden.
Was ich vorher verstanden habe, ist, dass die Codierungsdefinition in XML mit dem Dateiformat übereinstimmen muss. Das heißt, wenn es eine solche XML-Einführung gibt Lassen Sie uns kurz über die verschiedenen Phasen der Diskussion sprechen.
Zu Beginn der Diskussion habe ich ihm mit Sicherheit gesagt, dass der Kodierungswert mit dem Dateiformat übereinstimmen muss (d. h. BOM, BOM ist die Abkürzung für Byte Order Mark), da sonst beim Parsen von XML Fehler auftreten können (z. B. Wenn das Dokument ein bestimmtes UNICODE-Zeichen enthält und das durch die Codierung oder Stückliste angegebene Format nicht übereinstimmt, tritt ein Fehler auf (das meinte ich damals), und dann sagte er mir, dass dies nicht der Fall zu sein schien Die XML-Datei, die ich mit DELPHI erstellt habe, hatte keine Stückliste im XML-Format und die angegebene Kodierung ist UTF-8. Sie kann normal mit dem IE geöffnet werden.
Als er feststellte, dass die von ihm erstellte XML-Datei keine Stückliste hatte, war es interessant, dass UE beim Öffnen solcher Dateien mit UNICODE-Zeichen mit UE automatisch FF FE vor der Datei hinzufügt, damit die Datei dies tun kann Wenn Sie also eine Datei durchsuchen, die ursprünglich keine hexadezimale Stückliste hat, wird eine zusätzliche Stückliste in den OPTIONEN von UE angezeigt es selbst.
Dann war ich etwas verwirrt, wie konnte das passieren? Dann dachte ich und dachte nach, und plötzlich schickte er eine Nachricht mit folgendem Inhalt:

W3C definierte drei XML-Regeln dafür, wie der Parser die Codierung von XML-Dateien korrekt liest:
1. Wenn das Dokument eine BOM (Byte Order Mark) hat, enthält es im Allgemeinen, wenn es im Unicode-Format gespeichert ist, die BOM, ANSI jedoch nicht ) , die Dateikodierung ist definiert
2. Wenn kein BOM vorhanden ist, überprüfen Sie das Kodierungsattribut der XML-Deklaration
3. Wenn keines der beiden oben genannten vorhanden ist, wird davon ausgegangen, dass es sich um ein XML-Dokument handelt ist in UTF-8 kodiert

Mit diesen drei Regeln wird diese Regel viel klarer.
Zuerst analysiert der XML-Parser die Datei gemäß der Stückliste. Wenn die Stückliste nicht gefunden wird, wird die durch das Codierungsattribut in XML angegebene Codierung verwendet. utf-8 wird standardmäßig verwendet. Dann kann es gestartet werden. Wenn sowohl BOM als auch ENCODING vorhanden sind, hat die durch BOM angegebene Vorrang.
Ah! Plötzlich spürte ich, wie toll es wäre, Standarddokumente zu haben! Obwohl es so natürlich ist.
An diesem Punkt verstehe ich endlich die Beziehung zwischen Codierung und Dateiformat in XML. Obwohl diese Aufzeichnung nur ein paar hundert Wörter enthält, betrug die Gesamtzeit, die wir für unsere Diskussion benötigten, fast zwei Stunden.

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Codierung in XML. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn