コンピュータは内部で情報をすべて0と1の2進法で扱います。
数値だけでなく、私たちが日常的に使う文字や記号も、すべて2進数のデータとして表現されています。
文字をコンピュータで扱うためには、どの文字をどの数値で表すかを決める必要があります。
このように、文字と数値の対応関係を定めたものを文字コードといいます。
この記事では、情報Ⅰ(情報1)で学習する文字コードについて解説します。
コンピュータにおける文字の表現
数値だけでなく文字や記号も2進法で表現される
コンピュータは、内部で扱うすべての情報を2進法で表します。
例えば、文字「A」を表す場合、次のように数値を割り当てて表現します。
| 文字 | 数値(10進数) | 2進数 |
|---|---|---|
| A | 65 | 01000001 |
このように、文字を数値に対応させて扱うことで、コンピュータは文字の保存や表示を行うことができます。
文字コードとは何か
文字コードとは、文字や記号を数値に対応させる規則のことです。
コンピュータは文字そのものを理解しているわけではなく、数値として処理しています。そのため、文字コードによって「どの数値がどの文字を意味するか」が決められています。
文字コードにはさまざまな種類があり、目的や地域によって異なる規格が使われています。
主な文字コードの種類
ASCII
ASCIIは、英語圏で広く使われた文字コードです。
7ビットで構成されており、以下のような文字を表現できます。
- 英字(A〜Z、a〜z)
- 数字(0〜9)
- 記号
ただし、日本語の文字は含まれていません。
JIS8ビットコード
JIS8ビットコードは、日本語を扱うために、日本工業規格(JIS)で定められた文字コードです。
JIS8ビットコードでは、8ビットを使って文字を表現し、日本語の文字を扱うための規格として利用されました。
JIS8ビットコードの例
| 文字 | 10進数 | 16進数 | 2進数 |
|---|---|---|---|
| A | 65 | 41 | 01000001 |
| B | 66 | 42 | 01000010 |
| C | 67 | 43 | 01000011 |
| a | 97 | 61 | 01100001 |
| b | 98 | 62 | 01100010 |
| 0 | 48 | 30 | 00110000 |
| 1 | 49 | 31 | 00110001 |
| ! | 33 | 21 | 00100001 |
| ア | 177 | B1 | 10110001 |
| イ | 178 | B2 | 10110010 |
| ウ | 179 | B3 | 10110011 |
| エ | 180 | B4 | 10110100 |
| オ | 181 | B5 | 10110101 |
シフトJISコード
シフトJISコードは、日本語を扱うために開発された文字コードです。仮名、漢字など、日本語の全角文字を表現することができます。
日本語の文字は種類が多いため、1バイトと2バイトを組み合わせて文字を表現します。1文字は、16ビットで表現されます。
日本のパソコンで長く使われてきた文字コードの一つです。
ユニコード(Unicode)
ユニコードは、世界中の文字を統一的に扱うことを目的として作られた文字コードです。
日本語だけでなく、さまざまな言語の文字を一つの規格で表現できます。
現在では、多くのコンピュータやインターネットでユニコードが利用されています。
日本語と文字コード
日本語には、平仮名、片仮名、漢字など多くの種類の文字があります。
特に漢字は種類が非常に多く、日常的に使われるものだけでも数千字あり、すべてを含めると数万字に及びます。
一方、1バイトは8ビットで構成されており、表現できる数値は 256通りしかありません。そのため、1バイトの文字コードでは、日本語のすべての文字を表現することができません。
この問題を解決するために、2バイトを使って文字を表現する文字コードが開発されました。2バイトは16ビットで構成されるため、最大で 65536通りの文字を表すことができます。
このような仕組みによって、日本語の平仮名、片仮名、漢字など多くの文字をコンピュータで扱うことが可能になりました。
日本語を扱う文字コードとしては、シフトJISコード、JISコード、EUC、ユニコードなどがあり、日本語の文字を表現するために2バイトを用いる仕組みが採用されています。
文字コードの違いによって起こる問題
文字化けとは何か
文字化けとは、文字コードが異なる環境でデータを読み取ったときに、文字が正しく表示されない現象です。
例えば、ある文字コードで保存された文章を、別の文字コードとして解釈すると、本来の文字とは異なる文字が表示されてしまいます。
なぜ文字化けが起こるのか
文字化けは、同じ数値でも文字コードによって対応する文字が異なるために起こります。
例えば、ある数値が
- 文字コードAでは「漢」
- 文字コードBでは「別の文字」
として解釈される場合があります。
このように、文字コードが一致していないと正しい文字として表示されません。
機種依存文字とその問題
機種依存文字とは
機種依存文字とは、特定の機種や環境でしか正しく表示できない文字のことです。
例えば、次のような文字が該当します。
- 丸付き数字
- 特殊な記号
- 一部の特殊漢字
機種依存文字を使う際の注意
機種依存文字を使うと、別の環境では次のような問題が起こることがあります。
- 別の文字として表示される
- 「?」などの記号になる
- 表示できない
そのため、文書作成やデータ交換では、機種依存文字の使用には注意が必要です。
合字とは
合字の意味と具体例
合字とは、複数の文字を組み合わせて一つの文字として表現したものです。
例えば、「㍻」があります。
これらは印刷などで一体化した文字として表現されることがあります。
文字コードとの関係
合字は、文字コードとして独立した文字として扱われる場合もあります。
一方で、複数の文字を並べて表示することで表現される場合もあります。
このように、文字の表示方法と文字コードの扱いは必ずしも一致するとは限りません。
確認問題
【問題1】コンピュータでは、文字や記号もすべて何進法で表現されているか。
【問題2】文字や記号と数値の対応関係を定めた規則を何というか。
【問題3】英字や数字、記号などを表現するために作られた、7ビットで構成される文字コードを何といいますか。
【問題4】日本語の文字を表現するために開発された文字コードで、1バイトと2バイトを組み合わせて文字を表すものを何といいますか。
【問題5】文字コードが異なる環境でデータを読み取ったときに、文字が正しく表示されない現象を何といいますか。
答え:【問題1】2進法 【問題2】文字コード 【問題3】ASCII 【問題4】シフトJISコード 【問題5】文字化け
まとめ
コンピュータでは、文字も数値として扱われています。
文字と数値の対応関係を定めたものが文字コードであり、ASCIIやシフトJIS、Unicodeなどさまざまな種類があります。
また、文字コードが異なると文字化けが起こることがあります。
さらに、機種依存文字などは環境によって正しく表示されないことがあるため注意が必要です。
文字コードの仕組みを理解することは、コンピュータで文字を扱う基本的な知識として重要です。
