必ず受かる情報処理技術者試験

問題4

ポケットスタディ 基本情報午後・要点整理―即効!7つの知識 (情報処理技術者試験)

Unicode文字列をUTF-8でエンコードすると、各文字のエンコード結果の先頭バイトは2進表示が0又は11で始まり、それ以降のバイトは10で始まる。16進数表示された次のデータは何文字のUnicode文字列をエンコードしたものか。

9
10
11
12

解答・解説を見る

解答:ア

UTF-8では、文字を1~6バイトの長さにエンコードする。各文字の先頭バイトは2進表示が0または11で始まり、2バイト目以降がある場合はそれらのバイトは10で始まる。

問題文の「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個である。

したがって、アが正解である。

前の問題 次の問題

Copyrithg naruha