平成24年度春期 問4 / 80

平成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

平成24年度春期の他の問題