平成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
キーボード:1〜4 で解答 → 次の問題 ← 前の問題
正解と解説を見る
解答する前に解説を開いたので、この問題は「見て解いた」として記録します(正解数には入りません)。
正解:ア
先頭バイトの数を数えれば文字数が分かります。16進の上位桁で判断すると,0〜7 は 0 で始まる(1バイト文字),C〜F は 11 で始まる(先頭バイト),8〜B は 10 で始まる(後続バイト)です。
CF 80… 1文字(2バイト)E3 81 AF… 1文字(3バイト)E7 B4 84… 1文字(3バイト)33,2E,31,34… 4文字(各1バイト)E3 81 A7… 1文字(3バイト)E3 81 99… 1文字(3バイト)
合計 1+1+1+4+1+1 = 9文字 です。
-
ア: 9
正しい。先頭バイト(0 又は 11 で始まるバイト)を数えると9個なので,9文字です。 -
イ: 10
誤り。先頭バイトは9個しかないので,10文字にはなりません。 -
ウ: 11
誤り。後続バイト(10 で始まるバイト)を文字として数えてしまうと誤った数になります。 -
エ: 12
誤り。先頭バイトは9個なので誤りです。
答え
ア: 9
出典:平成24年度 春期 応用情報技術者試験 午前 問4