基本情報技術者試験「文字コード」の問題
文字符号化方式であるUTF-8の説明として最も適切なものはどれか。
ア全ての文字を必ず2バイト固定長で表現する日本語専用の方式である
イASCIIと互換性を保ちつつ文字に応じて1〜4バイトの可変長で符号化する方式である
ウ半角英数字と半角カナだけを1バイトで表す古い国内規格である
エ7ビットで英数字と記号を表す英語圏向けの基本文字コードである
正解
イ.ASCIIと互換性を保ちつつ文字に応じて1〜4バイトの可変長で符号化する方式である
UTF-8はUnicodeを符号化する可変長方式で、ASCII文字は1バイトのまま、漢字などは3バイト、絵文字等は4バイトと文字に応じて長さが変わる。ASCII互換である点も含め正しい。
?選択肢ごとの解説
ア ×全文字を2バイト固定長とするのはUTF-16(の基本面)やかつての固定長方式の特徴で、UTF-8の可変長という性質に反する。
イ ○UTF-8はUnicodeを符号化する可変長方式で、ASCII文字は1バイトのまま、漢字などは3バイト、絵文字等は4バイトと文字に応じて長さが変わる。ASCII互換である点も含め正しい。
ウ ×半角英数字と半角カナを1バイトで表す国内規格はJIS X 0201などの説明で、Unicode系のUTF-8とは別物である。
エ ×7ビットで英数字と記号を表すのはASCIIそのものの説明であり、UTF-8はASCIIを内包する可変長方式である。
✎くわしく
文字コードはASCII(7ビット)、シフトJIS(国内、1〜2バイト)、Unicode(国際統一文字集合)があり、UnicodeをバイトにするのがUTF-8/UTF-16等の符号化方式である。UTF-8はASCII互換と可変長で、Webの標準的な文字コードとなっている。
✓本番での押さえどころ
試験のコツ
『UTF-8=ASCII互換・可変長(1〜4バイト)』を核に覚える。固定長や日本語専用とする選択肢は誤りと判断する。
覚え方
UTF-8の8は『8ビット(1バイト)単位で可変長に積み上げる』とイメージし、ASCIIをそのまま含むと覚える。
よくある誤り
文字集合(Unicode)と符号化方式(UTF-8)を混同する、UTF-8を固定長と誤解する誤りが多い。UTF-8は可変長である。
基礎理論の他の問題
この問題を、AIの8-ways解説つきで。
無料ではじめる →基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。
ukamiru 過去問 · 基本情報技術者試験 · fe-a3-0119