君は文字コードのことをどれだけ知っているか

最近はめっきり減ったものですがちょっと前は「xxさん、このプログラムサーバーでコンパイルできません!なんか間違ってませんか?」「おかしいなあ。なんにも問題ないよ?…あ、お前、バイナリモードで転送してない?」「えっ?」「えっ?」みたいなやり取りが良くありましたね。
ここ最近増えているシステム再構築案件におけるわりと高い壁の一つに、文字コードの問題があります。ホスト系のOSから移行する時はASCIIではなくEBCDICってだけでも問題ですが、漢字コードも富士通のJEF、IBMIBM漢字をはじめとして各社バラバラ。しかも、JIS83の改定前のコードが混じってたり、独自対応によってわけわかんなかったりしますね。さらに旧字体もちゃんとあって使えるようになっているけどJISになかったりとか、外字を使い倒していてどうしようとか、そいう問題もあります。
unicodeの登場によって変換表さえあれば何とかなることも増えましたが、今度はUTF-8にしたときにデータ容量が大きくなりすぎたり英数混在で可変長化したり、じゃあUTF-16にすればいいかと思ったらサロゲート文字が混じっていたりと一筋縄では行きません。よくわからずunicodeがいいだろうと思ってディスクが足りなくなるってのはもはや王道です。
さて、今まで書いてきた話がちんぷんかんぷんな人は手をあげてください!

正直なところ、今まで仕事をしてきて文字コードのなんたるかをよく知っている人に出会う機会は少ないです。これって結構なスキルなんじゃないかと思い始めています。
そもそもテキストデータが記録しているものが文字の字形ではなく文字コードである、ということすらわかってない人がたくさんいます。バイナリコードで見て見なよといって見せると「はー、こうなってるんですねー」とかのんきな反応を返されてしまったりもします。
かつてEUCのおまじないで「出口」とかコメントに埋め込んでたり電子メールのsubjectの文字化けに悩まされていたことを思うと隔世の感がありますが、業務プログラムの現場においては異種混合のシステム間接続がないとあまり気にしないものです。ウェブの画面系をやって苦労した人はいるだろうけど。
ということで、文字コードについてはきちんと学んでおくことで一つ頭の抜けた有能な人材になれる場合があります。
というわけで、わかんない人はきちんとお勉強しておいた方がよろしいかと思います。だいたいのことを理解するにはこの本がオススメ。

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

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

こっちは読んだことないけどどうだろう。
文字コード「超」研究 改訂第2版

文字コード「超」研究 改訂第2版