文字コードの解説(基本情報技術者シラバス用語)

目次

文字コードとは

文字コード(もじこーど)とは、コンピュータで文字を扱うために、1つひとつの文字に対して割り当てられた固有の「識別番号」のルールのことです。コンピュータは「0」と「1」の数値しか理解できないため、文字を画面に表示したり保存したりするには、すべての文字を数値に置き換える必要があります。この置き換えルールのことを文字コードと呼びます。代表的な規格には、英語圏の基本である「ASCII」、世界中の文字を1つの規格で表せる「Unicode」およびその表現形式である「UTF-8」、日本国内でかつて広く使われていた「Shift_JIS」などがあります。送る側と受け取る側で異なる文字コードを使うと、数字から文字への翻訳がうまくいかず、「文字化け」という現象が発生してしまいます。

具体例

アルファベットの「A」や日本語の「あ」に割り当てられている文字コード(UTF-8)の例です。

・文字「A」 = 16進数コード「41」 (2進数: 01000001)
・文字「B」 = 16進数コード「42」 (2進数: 01000010)
・文字「あ」= 16進数コード「E3 81 82」

【文字化けの例】
送信側が「あ」をShift_JIS(82 A0)で送信したのに対し、
受信側がUTF-8のルールで解釈しようとすると、対応する文字がズレて「縺」などの無関係な文字になってしまいます。

もう少し詳しく

コンピュータ黎明期には、アルファベットや数字、一部の記号だけを表す7ビットの「ASCII(アスキー)コード」が標準でした。その後、日本語のひらがなや漢字など多数の文字を扱うために、日本では「Shift_JIS」や「EUC-JP」といった独自の2バイト(16ビット)文字コードが普及しました。しかし、各言語圏が独自のコードを使っていたため、国際的なデータのやり取りで文字化けが頻発しました。そこで登場したのが、世界中のあらゆる文字を1つの巨大なコード表にまとめた「Unicode(ユニコード)」です。現在、インターネット上のWebサイトや多くのプログラミング言語では、このUnicodeを効率よくデータとして表現するための符号化方式である「UTF-8(文字によって1バイトから4バイトまで長さが変わる可変長方式)」が世界的な標準規格として使われており、文字化けのトラブルは過去に比べて劇的に減少しました。

試験でのポイント

文字コードに関する問題では、各文字コードの歴史的な役割や特徴の違いが問われます。「ASCIIコードはアルファベットと数字を7ビットで表現する」「Shift_JISはWindows環境で広く使われていた日本語コード」「EUC-JPはUNIX系OSで使われていた」「Unicodeは世界中の文字を統一的に扱う規格である」というキーワードを確実に紐付けて暗記しておきましょう。また、データ量の計算問題において、「ASCII文字(1バイト)が何文字、全角漢字(2バイトやUTF-8なら3バイトなど設定次第)が何文字あるとき、全体のデータ量は何バイトになるか」といった問題も出題されるため、どの文字コードが何バイトを消費するのかという目安を知っておくことも重要です。

関連する用語

世界中の言語を統一的に扱うための文字セットであるUnicode、アメリカで制定された基礎的な文字コード規格であるASCII、日本語の文字化けの原因になりやすいShift_JISなどが関連します。

読んだ内容を10問練習と実技で確認

記事で理解した用語を、StudyQuestの演習とクラウド実技ラボで定着させます。

10問練習 実技ラボ