kagamihogeの日記

kagamihogeの日記です。

プログラマのための文字コード技術入門

Web アプリの開発で何かと悩みどころになるものの一つが文字コード。しかしながら、文字化けやら何やらで文字コードの存在を知ることになっても、たいてい場当たり的な対処策が先行して文字コードそのものについて学ぶ機会が少なかったりする。無論、探せば Web 上に文献は山のようにあるのだけど、体系的にまとめられているものは中々見つからなかったりもする。最近はとりあえず UTF-8 にあわせておけばオーケーなケースが増えたこともあり、昔に比べると若干文字コード周りの悩みは減った*1 けれども、文字コードプログラマを悩ませるものの代表格なことには変わりない。

そんなわけで本書は、そもそも文字コードとは何なのか? というところから始まり、代表的な符号化文字集合文字符号化方式について解説が行われる。なのだけど、結構内容が難しい。本書を一通り読み終えて文字コードについて理解できましたか? と言われたら、半分ちょいくらいかな、というのが本音なところ。それには理由が大きく二つあって、文字コードを知るのは文字コードの歴史を紐解くことと同義といってもいいくらい過去の経緯が複雑なこと。もう一つは、文字コードを考える上で、文字とは何か? という概念が非常に重要になる。その理由は本書に譲るのだけど、その概念をつきつめていくとなんだか哲学的になってくるんですよね。

第1章から第4章は割りと概念的な内容を扱っているのだけど、第五章からは文字コード関連の技術の実際を扱っている。ここからは打って変わって具体的な内容になる。専門的なことはともかく文字コードに対する実践的な知識が欲しいのだ、という場合は第5章から読むのも手だと思う。

多くの人の興味を惹きそうなトピックを幾つか抜粋すると、第5章では「文字コードの自動判別」、第6章では「電子メールと文字コード」「Web と文字コード」、第7章では JavaRuby での文字コードの取り扱い方についてなのでそれぞれの言語利用者にとって面白く読める箇所かと。最後の第8章は「はまりやすい落とし穴とその対処」ということで「『全角・半角』問題」「波ダッシュ問題」などあるあるネタの解説を行っている。

プログラマのための文字コード技術入門 (WEB+DB PRESS plus) (WEB+DB PRESS plusシリーズ)

プログラマのための文字コード技術入門 (WEB+DB PRESS plus) (WEB+DB PRESS plusシリーズ)

*1:……ような気がする