Was ist eine überlange Form / Codierung?

8

Als ich den Wikipedia-Artikel über UTF-8 gelesen habe, habe ich mich über den Begriff übermäßig gefragt Dieser Begriff wird mehrmals verwendet, aber der Artikel enthält keine Definition oder Referenz für seine Bedeutung.

Ich würde gerne wissen, ob jemand den Begriff und seinen Zweck erklären kann.

    
nEAnnam 18.08.2011, 19:37
quelle

2 Antworten

11

Es ist eine Codierung eines Codepunkts, der mehr Codeeinheiten als benötigt benötigt.

Zum Beispiel wird U + 0020 in UTF-8 durch das einzelne Byte 0x20 dargestellt. Wenn Sie die beiden Bytes 0xc0 0xa0 normal dekodieren, landen Sie immer noch bei U + 0020, aber das ist eine ungültige Darstellung.

Das Unicode Corrigendum # 1 enthält weitere Informationen, insbesondere zu Tabelle 3.1B.

    
Jon Skeet 18.08.2011, 19:39
quelle
2

UTF-8 erlaubt theoretisch verschiedene Darstellungen von Zeichen, die auch eine kürzere haben. Beispielsweise könnten Sie ein ASCII-Zeichen in zwei Bytes codieren, indem Sie die MSBs auf Null setzen. Die UTF-8-Spezifikation verbietet dies ausdrücklich.

    
Joey 18.08.2011 19:41
quelle