19

UTF-8 に関するウィキペディアの記事を読んでいて、 overlongという用語について疑問に思っていました。この用語は何度も使用されていますが、この記事ではその意味の定義や参照を提供していません。

誰かが用語とその目的を説明できるかどうか知りたい.

4

2 に答える 2

20

これは、必要以上のコード単位を使用するコード ポイントのエンコーディングです。

たとえば、U+0020 は UTF-8 では 1 バイトで表されます0x20。通常の方法で2 バイトをデコードすると、0xc0 0xa0U+0020 に戻りますが、これは無効な表現です。

Unicode Corrigendum #1には、特に表 3.1B に関する詳細情報があります。

于 2011-08-18T19:39:57.783 に答える
5

UTF-8 では、理論的には、短い文字も持つさまざまな文字表現が可能です。たとえば、MSB をゼロに設定することで、ASCII 文字を 2 バイトにエンコードできます。UTF-8 仕様では、これを明示的に禁止しています。

于 2011-08-18T19:41:25.483 に答える