2021.09.29ブログ
コンピュータで扱う文字情報
こんにちは。代表の小林です。今まで何回かに分けてコンピュータについて解説記事を書いています。(コンピュータは0、1で計算をする?、コンピュータで扱うデータ、コンピュータで扱う色情報、コンピュータで数値をどうやって表す?)今回は文字のデータを表す方法について書きたいと思います。今までの記事を読んでいただいている人なら、コンピュータ上では当然文字そのものを保存しているわけではないことはわかりますよね。これについて書いていきます。
符号化(coding)とは?
コンピュータ上で情報を表現するときに符号化(coding)をします。これは、ある一定の規則に従って0、1のデジタルデータを割り当てていくことを言います。例えばみなさんが目にするもので符号化された情報が使われているものに、銀行コードがあります。これは銀行ごとに番号を割り当てて、どの銀行化を一意に特定することができます。4桁の数字で割り当てられており、みずほ銀行=0001など番号が割り当てられるのですが、情報量として番号だけのほうが少ないことはおわかりいただけるかと思います。
文字コード
そして、文字にも番号がついています。文字コードと呼ばれています。アルファベットや数字、日本語の文字や中国の漢字、ハングルやギリシャ文字などあらゆる国の文字に番号を割り当てて、コンピュータ上で扱えるようにしています。Unicodeと呼ばれるコード体系が国際標準で決まっています。Unicodeもいくつか種類があるのですが、よく使われているのがUTF-8 と呼ばれるコードです。MacOSや Unixなどを使われている方であれば、初期設定でUTF-8となっており、書いた文字はUTF-8で保存されるようになっています。Windowsでは、日本語環境においてはShift-JISというコードが使われていることが多いです。このように文字コードが違う環境同士でデータをやり取りすると起こるのが、文字化けです。これは、Shift-JISではある番号で表していた文字が、UTF-8では違う文字に割り当てらているため、表示がおかしくなる現象のことです。これを解決するためには文字コードを変換する必要があります。プログラムを作る場合、どういう文字コードを使っているかを把握して処理を作成する必要があります。個人的にはマイクロソフトさんには、Shift-JISはもう卒業していただき、UTF-8で統一してほしいところですね。。。
まとめ
今回は、コンピュータ上で表す文字データについて書きました。コンピュータ上でどのように情報が保存されているかを知っていると、プログラムを作るときに役に立ちます。ぜひこの機会に覚えていただけると良いと思います。
プログラミングを学ぶなら「ドクターコード」
ドクターコードはタイムレスエデュケーションが提供しているオンラインプログラミング学習サービスです。初めての方でもプログラミングの学習がいつでもできます。サイト内で質問は無制限にでき、添削問題でスキルアップ間違いなしです。ぜひお試しください。