平成24年 春期 応用情報技術者 午前 問4

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


答え ア


解説
問題文の「Unicode文字列をUTF-8でエンコードすると、各文字のエンコード結果の先頭バイトは2進表示が0又は11で始まり、それ以降のバイトは10で始まる。」から、各バイトを2進表示にした時に0又は11で始まるデータの数が元もデータの数を表している。
0で始まるデータは16進表示に数と0〜7になり、11から始まるデータはC〜Fになるので、『CF 80 E3 81 AF E7 B4 84 33 2E 31 34 E3 81 A7 E3 81 99』から、このデータを探すと1番目の「CF」、3番目の「E3」、6番目の「E7」、9番目の「33」、10番目の「2E」、11番目の「31」、12番目の「34」、13番目の「E3」、16番目の「E3」の9個(ア)であることがわかる。


キーワード
・Unicode
・UTF-8

キーワードの解説

戻る 一覧へ 次へ