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

分野:基礎理論(2進数・論理・集合・確率統計・情報理論・AI/機械学習の理論・オートマトン・形式言語・計算量)|実際に出題されたIPA過去問題

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.  9
  2.  10
  3.  11
  4.  12
解答・解説を見る

正解:ア

AI解説

UTF-8 では、1文字のエンコード結果の先頭バイトは2進で 0(1バイト文字)または 11(多バイト文字の先頭)で始まり、2バイト目以降の継続バイトは 10 で始まる。つまり文字数=先頭バイト(0 または 11 で始まるバイト)の個数である。16進で 0x80〜0xBF が継続バイト、それ以外が先頭バイトなので、CF/E3/E7/33/2E/31/34/E3/E3 の9個が先頭バイトとなり9文字である。 ア: 正解。先頭バイトは CF, E3, E7, 33, 2E, 31, 34, E3, E3 の9個で、9文字(πは約3.14です)である。 イ: 10 は継続バイトの一部を文字として数えた誤りである。 ウ: 11 も継続バイト(80, AF, 84, A7, 99 など)を誤って数えた値である。 エ: 12 も同様に継続バイトの混入による誤りである。 💡 16進の値で機械的に判定する。0x00〜0x7F は1バイト文字、0x80〜0xBF は継続バイト(数えない)、0xC0 以上は多バイト文字の先頭。先頭バイトだけを数えれば文字数になる。

出典:平成24年度 春期 応用情報技術者試験 午前 問4 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・2,640問収録)

「基礎理論」分野の攻略ポイント

2進数・論理演算・集合・確率統計・情報理論・AI/機械学習の理論・オートマトン・形式言語・計算量が範囲です。純粋な計算問題が多く、対策の有無がそのまま得点差になります。手を動かす練習が最も効く分野です。

基礎理論の攻略ポイントをすべて見る(要点6項目・ひっかけ3項目)→

同じ分野(基礎理論(2進数・論理・集合・確率統計・情報理論・AI/機械学習の理論・オートマトン・形式言語・計算量))の過去問