メインコンテンツへ
基礎理論文字コード

UTF-8の特徴として正しいものはどれか。

ア.ASCII文字は1バイト、それ以外の文字は文字の種類に応じて2〜4バイトで表現する可変長符号方式である。正解
イ.全世界のすべての文字を2バイト固定で表現することを保証している。
ウ.ASCIIと互換性はなく、日本語文字のみを効率的に表現するために設計された文字コードである。
エ.すべての文字を固定4バイトで表現するためビット演算が簡単だが、ASCII文字でも4バイト消費する。

解説

UTF-8は「英語はコンパクト、多言語は必要分だけ」の賢い可変長方式。ASCII互換なので英語のテキストはそのまま1バイト/文字で扱えます。

なぜ ア が正解か

UTF-8はUnicodeを符号化する可変長文字コードです。 ・U+0000〜U+007F(ASCII範囲): 1バイト ← 後方互換! ・U+0080〜U+07FF(ラテン文字拡張など): 2バイト ・U+0800〜U+FFFF(CJK文字など): 3バイト(日本語の多くはここ) ・U+10000〜U+10FFFF(絵文字・稀字など): 4バイト ASCIIと完全後方互換なため既存のシステムに組み込みやすく、Webの標準文字コードとして普及しました(HTMLのデフォルトはUTF-8)。

なぜ イ は間違いか

全文字を2バイト固定で表現する試みは「UCS-2」ですが、これは旧規格でU+FFFFまでしか扱えず(絵文字などに対応不可)。現在は4バイトまでの可変長が必要なためUTF-16(サロゲートペア使用)やUTF-8が使われます。

なぜ ウ は間違いか

UTF-8はASCIIと完全後方互換であり(U+0000〜U+007Fは同一バイト表現)、日本語専用ではありません。Unicodeの全コードポイント(100万文字以上)をカバーする汎用の国際文字コードです。

なぜ エ は間違いか

全文字を固定4バイトで表現するのは「UTF-32」です。UTF-32はビット演算(コードポイント計算)が簡単ですが、ASCII文字でも4バイト使うためメモリ効率が悪く、テキストファイルには通常使いません。

出典: AI生成問題(学習用)