コードページとかUnicodeとUTF-8の違いとか

11 Dec

日本語をうまく扱えないプログラムは多い。海外製のソフトで日本語をうまく扱えるものは決して多くない。これは主に彼らのinternationalization(i18n)に関する知識が少ないため・・・という話はよくある。ところが、日本人でもプログラムのi18nについて知っている人は少ないような気がする。恥ずかしながら自分もほとんど知らなかった(研究で日本語データを扱っているのに!)。

最近Joel on Software(もちろん日本語版;)を読んでいて、「すべてのソフトウェア開発者が絶対確実に知っていなければならないUnicodeとキャラクタセットに関する最低限のこと(言い訳なし!)」の章を読んだ。たった数ページだけど、コードページとかUnicodeとUTF-8の違いがなんとなく分かってしまった。WindowsでUnicodeを扱うときなぜ”WideChar”という名前のものを使わないといけないのかとか、UTF-8はUnicodeなはずなのにどうしてwcharで読み込んでも正しく扱えないのか、UTF-8はUnicodeなのになぜUTF-8でエンコードされた英文は普通に読めるのか・・・。個人的に引っかかっていた部分が全て氷解した。

この本は会社でプログラム開発を担当している管理職を対象としている本で、自分には関係ない話も少なくはない。でも、知っておいて損になることはないし、むしろ知ってよかったことは多い。マネジメントの話は自分と直接関係ないようで、人間誰もが自分自身のマネジメントはしないといけないわけで、その観点からするとマネジメントの本だからといってスルーするのはまずいような気がする。(とかいいつつ、いい本だって友達に聞かなかったら自分も読んでなかったと思うけど。)

ちなみにこの記事はオンラインでも読むことができる。
The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

Leave a Reply

Your email address will not be published.