Webシステムを制作するのに文字コードの存在を正しく理解していないと文字化けが発生しシステム自体が正常に動作しない等、セキュリティにも関わる問題に発展する事もあります。そんな文字コードに関して簡単にまとめてみました。
コンピュータは、ひらがなやカタカナ、漢字などの文字を表示するのに、文字を理解して表示しているのではない事はご承知の事と思います。では、どの様にして表示しているのでしょう。
コンピュータで表示する文字には、全て番号が割り当てられています。
例えば、
「亜」と言う漢字は、34975が割り当てられています。
コンピュータは、この数字に割り当てられた文字を表示しているだけなのです。
コンピュータから見ると34975で、人から見ると「亜」となっているのです。
ただし、この番号は、日本のパソコン上でのことで、メール上では、12321番となります。日本のサーバでは、45217番を使用しています。そして、他の国のコンピュータでは、14989980番を使用しています。
それぞれの環境で、同じ文字であっても異なる番号が割り振られています。
日本には、JIS、Shift-JIS、EUC-JP、UTF-8と呼ばれる文字のコード体系が主に使用されています。
例えば先程の「亜」という文字をそれぞれ割り振られている番号に直すと以下の様になっています。
文字コード種類 | 文字番号 |
---|---|
JIS | 12321 |
SJIS | 34975 |
EUC-JP | 45217 |
UTF-8 | 14989980 |
では、なぜ、何種類も文字のコードが存在するのか?
これは、コンピュータ技術発展の歴史に関係しています。
コンピュータは、英語圏で開発された事もあり文字が表示される様になったコンピュータは、当初アルファベットの大文字、小文字、数字、記号等の約80種類の文字で十分でした。現在でも英語圏のコンピュータはアルファベット、数字、記号で十分間に合います。
コンピュータは、世界へ普及していき英語圏以外の国での使用ではアルファベットだけでは間に合わなくなりました。
コンピュータの種類ごとに世界で標準の規格が策定されたり、コンピュータ会社のグループで別のコードを策定したり、等。
昔、ビデオの規格で、VHS方式、β方式で規格が割れた事がありましたが、それと似たようなものです。
今現在、コンピュータの種類や環境に関係なく使用できるUnicode(UTF-7、UTF-8、UTF-16)と呼ばれる文字コードで世界全ての文字を含むコードを策定し、世界的に統一していこうという動きがあり、パソコン、サーバで浸透してきています。