エンコードについて少し混乱しています。私が知る限り、古い ASCII 文字は 1 文字につき 1 バイト必要でした。Unicode 文字には何バイト必要ですか?
1 つの Unicode 文字には、あらゆる言語のあらゆる文字を含めることができると想定していますが、正しいでしょうか? では、1 文字あたり何バイト必要ですか?
UTF-7、UTF-6、UTF-16 などはどういう意味ですか? これらは Unicode の異なるバージョンですか?
私は読んだUnicodeに関するWikipediaの記事しかし、私にとってはかなり難しいです。簡単な答えが見られるのを楽しみにしています。
ベストアンサー1
不思議なことに、Unicode 文字 1 つあたりに何バイトかかるかを計算する方法を指摘した人は誰もいませんでした。UTF-8 でエンコードされた文字列のルールは次のとおりです。
Binary Hex Comments
0xxxxxxx 0x00..0x7F Only byte of a 1-byte character encoding
10xxxxxx 0x80..0xBF Continuation byte: one of 1-3 bytes following the first
110xxxxx 0xC0..0xDF First byte of a 2-byte character encoding
1110xxxx 0xE0..0xEF First byte of a 3-byte character encoding
11110xxx 0xF0..0xF7 First byte of a 4-byte character encoding
したがって、簡単に答えると、最初のバイト数に応じて 1 ~ 4 バイトかかります。