ウィキペディアの記事によると、UTF-8の形式は次のとおりです。
最初のコード最後のコードバイトバイト1バイト2バイト3バイト4 ポイントポイント使用済み U + 0000 U + 007F 1 0xxxxxxx U + 0080 U + 07FF 2 110xxxxx 10xxxxxx U + 0800 U + FFFF 3 1110xxxx 10xxxxxx 10xxxxxx U + 10000 U + 1FFFFF 4 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx xは、このビットを使用してコードポイントを選択することを意味します。
これにより、各継続バイトで2ビット、最初のバイトで1ビットが無駄になります。UTF-8が次のようにエンコードされないのはなぜですか?
最初のコード最後のコードバイトバイト1バイト2バイト3 ポイントポイント使用済み U + 0000 U + 007F 1 0xxxxxxx U + 0080 U + 3FFF 2 10xxxxxx xxxxxxxx U + 0800 U + 1FFFFF 3 110xxxxx xxxxxxxx xxxxxxxx
コードポイントがBasic Multilingual Planeから外れている場合、またはコードポイントが範囲[U + 800、U + 3FFF]にある場合、1バイトを節約します。
UTF-8がより効率的な方法でエンコードされないのはなぜですか?