« 「修学旅行」ソウル公演 | メイン | 甲子園 »

文字コード

WEBサイトを見るにあたって知っておいたほうがよいのが、文字コード。

「バイト」ということばはご存知かと思う。マイコンと呼ばれていた頃のCPUはほとんどが8ビットのもの。これを表すのが1バイト。英語を表示するには実は7ビットで十分。このことが今もネックになっている。
ASCIIというのが英語を表示するコードとして知られているが、これは本来7ビットコード。7ビットだと128文字。もっとも、制御コードとして使っているところがあるので、文字として使っているのは95文字。英語圏では残る1ビットをパリティとして使うことがあった。英語以外では7ビットでは足りない。日本語などは2バイトコードを必要とした。ヨーロッパの言語には英語で使用しているラテン文字に記号を付加しているので、やはり7ビットでは足りない。

さて、日本語のコードとしてベースになっているのは、JISコード。2バイトすべて使えば65536文字になるのだが、1バイトの中ではASCIIコードとして使っている95文字しか使っていないので、9025文字しか表せない。そうなると、1バイトコードなのか、2バイトコードなのか区別できないので、制御コードを使って、2バイトコードの始まりと終わりを示すことになっている。これは日本語以外の2バイトコードでも基本は同じ。
制御コードを使うのが面倒だということで、8ビット目を2バイトコードの印とすることが考案された。その方法に2種類あって、Shift-JISとEUC。

スタンドアローンで使っているときは問題にならなかったのだが、インターネットでは問題になりだした。インターネットがアメリカで誕生したので、基本的に7ビットコードしか通さない。上述の、8ビット目をパリティビットとして使うことがあるので、インターネットに流すときは7ビットだけということにしたのだ。この話は深入りしないことにする。

今ではUnicodeも加わり、状況は複雑になっている。
だから、日本語をあらわすコードとしてはJIS、Shift-JIS、EUC、Unicodeの4種類が存在し、サイトにより使用されるコードが異なる。文字化けするのはブラウザがその文字コードに対応していないか、明示されていなくて判別に失敗したかが大半。メールの文字化けで、使用コードとして示されているものと実際に使用されているコードが合っていないというのを時々経験する。

このエントリーについて

2006年8月19日 22:55に投稿されたエントリーのページです。

ひとつ前の投稿は「「修学旅行」ソウル公演」です。

次の投稿は「甲子園」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。