ITエンジニア必読『プログラマのための文字コード技術入門』
本書は、文字コードに関わるITエンジニア必読の書である。と言うことは、全てのITエンジニアが対象ということになる。「プログラマのための」と銘打っているが、サポートエンジニアでも運用エンジニアでもプリセールスSEでも、メールやブラウザなどで文字化けを見た経験があるはずだ。ブラウザのエンコーディングの設定を変えれば治ることがある。日本語ファイル名が文字化けする可能性があるからASCII文字でファイル名を付けて交換するという対処はよく行われる。本書を読めば、文字化けの根本原因が理解できるようになる。
Webの断片的な情報で文字コードを理解しようとすると、どこから手をつけていいのか、この情報とあの情報の関係はどうなっているのかなど、路頭に迷ってしまう。根本原因を知るには、文字コードの規格だけでなく、歴史や規格の背景まで知る必要がある。そして文字の背景には文化も存在し、それを避けて通ることがことができない。本書はこれらのテーマをとても分かりやすく体系立てて解説してくれる。Shift_JIS、EUC-JP、Unicodeなどの文字コードをていねいに解説したあと、文字コード変換やインターネットでの文字コードの実装、JavaやRubyでの文字コードの実装、そして代表的なトラブルの対処方法として「全角・半角問題」「円記号問題」「波ダッシュ問題」を取り上げている。これは、これまでの知識の応用例でもある。
著者の次の言葉が非常に印象に残った。
本書では上記の各種トラブルについて、文字コードの原理原則に立ち返ったうえで現象の意味を考察しました。こうしたやり方は一見迂遠で理屈っぽいように映るかもしれません。しかし、小手先の対症療法でない本質的な解決のためには、原理に立脚した議論が必要であるはずです。
本書で述べていない別のトラブルに遭遇したときにも、文字コードの原則に基づいた考察方法は確かな視野を与えてくれるはずです。
(「第8章 はまりやすい落とし穴とその対処」より)
これもまた、原理・原則アプローチのひとつである。表面上の現象やテクニックだけでなく、その背後に潜む原理・原則や、物事に対応するときの原理・原則を身につけておけば、さまざまな場面で応用が利く。
文字コードというテーマは、書籍でなければきちんと論じることができない部分がある。例えばひとつの文字コードに包摂されている複数の字体を例示するとき。あるいは、JIS規格の版によって字形が変わってしまったもの。そしてJIS X0213で追加された第3水準・第4水準漢字を扱うとき。これらの文字コードの字体は、OSやブラウザ、インストールされているフォントに依存する。書き手の意図と異なる字体が自体が表示されてしまう可能性がある(注)。読み手全てが同じ字体を見ることができるというのは、書籍の大きなメリットである。
(注)字形が変わってしまいそうな箇所を画像にするという手はあるが。
最近のコメント