2016-07-20 11 views

Antwort

1

Es ist nicht möglich, ASCII in Big5 zu codieren.

Big5 ist ein reiner Doppelbyte-Zeichensatz. Um das Mischen von Einzelbyte-Zeichensätzen zu ermöglichen, wird bei allen Big5-2-Byte-Zeichenkodierungen das höherwertige Bit gesetzt. Der Standard spezifiziert niemals WHCH SBCS verwendet wurde, und der De-facto-Standard ist ASCII, der eindeutig unterschieden werden kann, weil alle ASCII-Zeichen das höherwertige Bit frei haben.

Mit anderen Worten: Big5 enthält keine 2-Byte-Kodierungen, die dem Standard-ASCII-Zeichensatz entsprechen. Die einzige Möglichkeit, einen XML-Prolog und Tag-Begrenzer einzuschließen, ist die Verwendung von ASCII-Zeichen.

0

Die XML-Deklaration muss dieselbe Codierung wie der Rest des Dokuments aufweisen. Wenn sich das Dokument in Big5 befindet, muss die XML-Deklaration in Big5 sein. Für einen XML-Parser bedeutet dies, dass er eine Liste unterstützter Codierungen haben muss und diese nacheinander versuchen muss, bis er eine solche gefunden hat, bei der das Ergebnis der Decodierung der ersten 20 oder 30 Byte in der Datei eine gültige XML-Deklaration ist mit dem richtigen Kodierungs-Label.

Natürlich kann diese Strategie optimiert werden: Wenn die ersten paar Bytes der Datei <?xml in ASCII sind, dann reduziert dies die Menge der Möglichkeiten.

XML-Parser sind nicht verpflichtet, andere Kodierungen als eine kleine Mindestmenge wie UTF-8 und UTF-16 zu unterstützen.