HOME»応用情報技術者平成24年春期»午前問4
応用情報技術者平成24年春期 午前問4
問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
CF 80 E3 81 AF E7 B4 84 33 2E 31 34 E3 81 A7 E3 81 99
- 9
- 10
- 11
- 12
分類
テクノロジ系 » 基礎理論 » 情報に関する理論
正解
ア
解説
UTF-8は、1文字を1~6バイトの可変長で表現する文字コードです。文字の先頭バイトは"0"または"11"で始まるので、16進データをバイト(8ビット)単位で2進数に変換し、"0"または"11"で始まるものを数えることでデータに含まれる文字数を求めます。
CF 80 E3 81 AF E7 B4 84 33 2E 31 34 E3 81 A7 E3 81 99
先頭バイトは9つなので、データに含まれる文字数は9文字です。
- C → 1100 ⇒ 先頭バイト
- 8 → 1000
- E → 1110 ⇒ 先頭バイト
- 8 → 1000
- A → 1010
- E → 1110 ⇒ 先頭バイト
- B → 1011
- 8 → 1000
- 3 → 0011 ⇒ 先頭バイト
- 2 → 0010 ⇒ 先頭バイト
- 3 → 0011 ⇒ 先頭バイト
- 3 → 0011 ⇒ 先頭バイト
- E → 1110 ⇒ 先頭バイト
- 8 → 1000
- A → 1010
- E → 1110 ⇒ 先頭バイト
- 8 → 1000
- 9 → 1001
CF 80 E3 81 AF E7 B4 84 33 2E 31 34 E3 81 A7 E3 81 99
先頭バイトは9つなので、データに含まれる文字数は9文字です。