コンピュータで文字を扱うための工夫【文字コード】

文字コード


文字コード」という用語にピンとくる方はあまりいないかもしれませんが、「絵文字」「文字化け」といった言葉に馴染みのある方々は多いと思います。パソコンやスマートフォン(もしくはガラパゴス携帯)で絵文字が使えるのは文字コードのおかげですし、文字化けもその原因は文字コードにまつわるものです。

この記事では文字コードについて解説していきます。文字コードは複雑で奥深いものです。ただ、この記事を読めばその概略はつかめると思います。気楽に構えていきましょう!

文字コードとは?


文字コードとは、コンピュータで文字を扱うためにそれぞれの文字に対して「0」と「1」の符号を割り当てたもの、もしくは割り当てるための体系のことです。

古くは電信におけるモールス信号から始まり、欧米でのコンピュータの発展にともないアルファベットや記号などに「0」と「1」の符号が割り当てられるようになりました。コンピュータにおける文字コードが日本語(ひらがな、カタカナ、漢字)に対応したのは、それよりもっと後のことです。

文字コードの種類


文字コードと一口に言っても、その種類や体系、規格はさまざまであり、かつ膨大です。ここではその一部について挙げていきます。簡潔な説明に留めますが、ITパスポート基本情報技術者試験などの資格に臨むにあたってはこの程度の知識でひとまず大丈夫でしょう。

世界初の文字コード:ASCII


ASCII(アスキー)とは、ANSI(American National Standards Institute:米国規格協会、アンシー)によって定められた文字コードのことです。ASCIIは8ビットで運用され、そのうちの7ビット文字を表現し、残りの1ビットビットの誤りを検出します。

ASCIIは1963年6月に世界で初めて標準化された文字コードで、半角英数字半角記号制御文字のみが割り当てられています。たいていの文字コードはここから派生していて、ASCIIこそ文字コードの基本だといえるでしょう。

ちなみにASCIIの正式名称は”American Standard Code for Information Interchange”といいます。米国が定めたコンピュータによる情報交換のための文字コードという意味と捉えれば大丈夫でしょう。

日本語版の文字コード:JISコード


JISコード(ジス.ー)とは、JIS(Japanese Industrial Standards:日本工業規格)によって定められた文字コードのことです。インターネット上のやり取り、とくに電子メールなどに利用されます。

半角英数字半角記号半角カタカナ7ビットで、漢字2バイト16ビット)で表現されます。制御文字によって半角文字と全角文字を切り替えますが、半角文字と全角文字で使用するビット領域が重なってしまうという問題点があります。

JISコードの改良版:Shift_JIS


Shift_JIS(シフトジス)とは、日米のコンピュータ企業によって策定された日本国内のパソコンで使用されている文字コードのことです。1980年代に考案され、2004年にJISに採用されました(Shift JIS-2004)。

JISコードによる半角文字と全角文字と混在ができない問題については前述しましたが、Shift_JISはこれを改善したものです。文字の集合を適宜分割し、半角文字と全角文字で使用するビット領域が重ならないように定義されています。そのためJISコードとの互換性はありませんが、半角文字と全角文字の混在が容易となりました。

UNIX用の文字コード:EUC


EUC(Extended UNIX Code:拡張UNIXコード)とは、UNIXやLinuxで使用される文字コードのことで、日本語用に拡張されたものです。ひらがなカタカナ漢字などを利用することもできます。

英数字や記号、制御文字は8ビット、つまり1バイトにすべて収まります(1バイトは256通りの情報量を表現できます)。しかし、そこへひらがなやカタカナ、漢字が含まれるとなると、とても1バイトでは足りません。よってEUCは、2バイト以上のマルチバイト文字として運用されているわけです。

メインフレーム用の文字コード:EBCDIC


EBCDIC(Extended Binary Coded Decimal Interchange Code:エビシディック)とは、米国のIBM社が開発した、メインフレーム用の文字コードです。半角英数字半角記号制御文字が割り当てられていて、8ビットで運用されます。

世界中の文字と記号を網羅する:Unicode(ユニコード)


Unicode(ユニコード)とは、世界中のあらゆる言語に対応した文字コードです。かつて乱立された数多の文字コード統一するために策定されました。ここ数年は文字化けが滅多に見られませんが、それはUnicodeが普及したおかげです。

Unicodeは文字のみならず、各種記号もサポートしています。絵文字から古代文字まで、とにかく何でもです。

文字化けの原因としくみ


メールやWebサイトを開いた際に訳のわからない文字の羅列が表示されて戸惑った経験をもつ方は多いと思います。これはパソコンが壊れたわけではないのでご安心ください。

それこそが文字化けと呼ばれる現象です。文字化けの原因は、たいてい送信側と受信側で使用する文字コードが一致しないことによります。

Unicodeの普及により、最近はあまり文字化けを目にすることはないと思いますが、もし文字化けに遭遇した場合はブラウザメーラーなどの設定を確認してみるといいでしょう(ただし自己責任でお願いします)。

文字コードは符号化によって実現される


文字コードの種類や特徴よりも大切なことがあります。「本来数値ではない文字に符号を割り当てることで、計算機であるコンピュータにも文字を扱うことができるようになる」ということです。これを符号化といいます。

そもそもコンピュータは電気信号を扱うことしかできませんから、人間と同様に文字を使うことはありません。ただ、それぞれの文字に「0」と「1」の羅列を割り当ててやれば、コンピュータにも文字を使うことができます(さすがに文字の形や意味を理解しているわけではありません。あくまで符号として解釈しているだけです)。

本来数値ではないものに「0」と「1」の羅列を割り当てる「符号化」という考え方は、文字以外にも画像音声にも当てはまめることができます。

このように工夫することで、コンピュータに様々なデータを解釈させ、より多くの、より複雑な仕事を任せることができるというわけです。





それでは、今回はここまでといたします。
最後までお読みいただきありがとうございます。


あと、補足です。

ちなみにアイキャッチはASCIIにおける’A’と数値の対応を表しています。この場合、半角のAはコンピュータ内では”65”という数値で扱われるというわけです。

ちなみに”0x41″は16進数による表記です。


文字コード
最新情報をチェックしよう!