文字コードを勉強して不満足になる

日本語を含む文字列を操作するプログラムを C 言語で開発していたことがあり,Web コーパスを扱ったこともあるため,文字コードについては,それなりに知っているつもりでした.それでも,書籍で確認してみると,存外に知らないことが沢山あるということに気付かされました.

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

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

この本では,文字コードの歴史,符号化の方法,文字コードの変換において意識しておくべき問題など,多彩なトピックに触れています.文字コードについて,多少の苦労をしたことのある方が読むと,とても参考になると思います.もちろん,初心者の方にとっても,勉強になると思います.

※ただし,解決しようもない問題の存在が分かって,凹むことになるかもしれません.

開発者にとっては,いわゆる Shift_JIS が複数あること(MS932, Shift_JIS-2004)や,UTF-8 への文字コード変換で情報が失われる可能性,正規化の危険性,同じ文字列なのに言語によって表示が変化することなど,面白くない話が山盛りです.

例えば,ASCII の `-' (HYPHEN-MINUS)の用法を考えてみると,テキストの中で,ハイフン,マイナス,ダッシュ,範囲,飾り文字などの意味を持っていて,文字コード周りの本質的な問題を垣間見ることができます.真面目に考え始めるとウンザリすること間違いなしです.

エンジニアの観点からすると,文字コードを一つの誤りもなく扱うことは不可能に等しいため,「どこで諦めるべきか」という判断が必要になります.「不満足なソクラテス」であるより「満足した馬鹿」である方が幸せなのかもしれません….