107.3基礎
ASCIIとUTF-8の関係について正しい説明を1つ選ぶ。
適切な説明はどれか。
× 不正解
UTF-8はASCIIと後方互換で、U+0000~U+007FをASCIIと同じ1byte値で表す。
詳細解説
誤りASCIIはUnicodeの全code pointを表せる
ASCIIは基本的な128文字に限られ、Unicode全体を表せない。
誤り。ASCIIの表現範囲は128 codeに限られ、Unicodeの膨大なcode point全体を含まない。
誤りASCII文字はUTF-8では必ず2byteになる
ASCII範囲はUTF-8でも1byteで表される。
誤り。ASCII範囲はUTF-8でも1byteのままで、先頭byteを追加しない。
誤りASCIIとUTF-8で英字Aのbyte値は異なる
ASCII範囲のbyte値はUTF-8でも同一である。
誤り。英字Aはどちらも16進41で、ASCII textは同じbyte列のまま有効なUTF-8になる。
正しいASCIIの0~127はUTF-8でも同じ1byte値で表される
UTF-8はASCII範囲を同じsingle byteで保持する。
正しい。U+0000~U+007FはASCIIと同じ0x00~0x7Fのsingle byteで符号化される。
実際に確かめる
一時的な検証環境で実行できる例です。
printf 'A' | od -An -t x1期待される結果
41理解のポイント
- ASCIIは7bit
- UTF-8の先頭128文字は同値
- 非ASCIIは複数byteになり得る
確認時の注意
- 確認環境: POSIX printf / od
基礎のおさらい
後方互換
ASCIIだけで構成されたfileはbyte列を変換しなくてもUTF-8として有効である。
encoding宣言
ASCII互換だけではfile全体のencodingを断定できない。非ASCII byteがある場合はencoding情報と検証が必要になる。
問題IDKP-107-712
確認環境POSIX printf / od
最終技術確認2026-08-13
誤り・権利侵害を報告