2009-06-26 3 views
2

CharsetDecoder lautet:Was bedeutet "UnmappableCharacterException"?

Es gibt zwei allgemeine Arten von Decodierungsfehlern. Wenn die Eingabe-Byte-Sequenz für diesen Zeichensatz nicht zulässig ist, wird die Eingabe als missformed betrachtet. Wenn die eingegebene Bytefolge zulässig ist, aber nicht mit einem gültigen Unicode-Zeichen verknüpft werden kann, wurde ein nicht mappbares Zeichen gefunden.

Ich verstehe das Konzept der missgebildeten Zeichen, aber was bedeutet ein unkappbarer Charakter? Ich dachte, dass Unicode alle möglichen Zeichen enthält. Wie könnte dann eine zulässige Bytefolge nicht mit einem Unicode-Zeichen verknüpft werden?

Antwort

3

Während Unicode eine große Anzahl von Zeichen für eine große Anzahl von Sprachen darstellen kann, ist es sicherlich nicht erschöpfend. Mit anderen Worten, es gibt Zeichensätze mit Zeichen, für die es keine Zuordnung in Unicode gibt.

0

Nur eine Vermutung ...

Ich gehe davon aus, dass ein solcher Wert in einem der leeren Blöcke existieren würde, die noch nicht für die Umsetzung gefüllt worden. Der Fehler erwartet wahrscheinlich Werte, die in Zukunft legale Zeichen sein werden, aber gegenwärtig nicht existieren. Die Zeichenmenge, die von Unicode umfasst wird, ist eine in Arbeit befindliche Arbeit, die möglicherweise nie beendet wird (siehe für derzeit betrachtete Zeichen).