Unicode文字列をUTF-8でエンコードすると、各文字のエンコード結果の先頭バイトは2進表示が 0 又は11で始まり、それ以降のバイトは10で始まる。16進表示された次のデータは何文字のUnicode文字列をエンコードしたものか。
CF 80 E3 81 AF E7 B4 84 33 2E 31 34 E3 81 A7 E3 81 99
ア 9 イ 10 ウ 11 エ 12
ア
エンコードとは、符号化のことである。
16進数で先頭バイトが11で始まるのは
C: 1100
D: 1101
E: 1110
F: 1111
16進数で先頭バイトが10で始まるのは
8: 1000
9: 1001
A: 1010
B: 1011
16進数で先頭バイトが0で始まるのは 1〜7 である。
従って、2進表示が0又は11の個数を調べると、何文字のUnicode文字列かが判る。
先頭バイトが、0又は11の個所を青字で表現すると、以下の通り、9個となる。
CF 80E3 81 AFE7 B4 8433 2E 31 34 E3 81 A7E3 81 99
問3 | 目次 | 問5 |