今更漢字コード
U から、メールで受けたテキストファイルが Mac 上で読めない、と聞かされる。どれどれ……あー、はいはい。
僕が Internet を使い始めて20年が経過したわけだが、その当初から、この日本語の問題は存在していた。当時は、いわゆるパソコン上では Shift_JIS と呼ばれる文字コード(正確には Microsoft CP932 と言うべきなのだろうけど)、UNIX 系のコンピュータ上では EUC-JP や JIS が使われていた。Shift_JIS は、文字コードの一部がいわゆるエスケープシーケンスとカブることや、半角カナの問題などがあるために、僕の周囲のほとんどの人が EUC 党か JIS 党(僕はこっちである)に分かれ、各々がその文字コードで自らのシステムを統一的に構築していた。
こうした状態が一気に変わっていったのは、前世紀末からの Unicode の台頭であった。Microsoft も、Windows 2000 以降の OS を Unicode で国際化したし、今はもはやメンテされていない Kondara MNU/Linux などが先駆けとなって、Linux / UNIX の世界も急激に UTF-8 化が進行した。現在は、日本語の文字コードが大きく分けて4つ存在する、という「異常事態」であるわけだけど、基本的には流れは Unicode に収斂しつつあるのかなあ、という感じだ。
さて。今回の U の問題だけど、どうもこの文書は JIS らしい。Mac OS X 上においては、基本的には日本語の文字コードは Unicode を使っている。表向きは Shift_JIS を使っているように見える(し、実際使える)のだけれど、これは backward compatibility のため、という色彩が濃い。いずれにしても、文字コードを Unicode に変換しなければならない。U が今後作業することを考えて、MultiTextConverterを入れることにした。これはドラッグ & ドロップでテキストファイルの文字コードを簡単に変換することができる。
ただし、U の Mac 上での日本語変換の環境は、実はもうとっくに整えてあった。先の MacPorts から homebrew への入れ替え時にもメンテナンスをしたけれど、それとは関係なく最大前提としてiconvは入っているし、このメンテのときにはnkfも更新してある。こういったフィルタとしての日本語コード変換ソフトは、シェルのパイプラインを分かっている人にとっては何の気負いもなく使われているものなのだけど、まあ確かに普通の人には使いにくいものかもしれない。
僕は歴史的な経緯からQKCがお気に入りなのだけど、現在使用する上で致命的なのが、Unicode を扱えないということだ。これに関しては、Sugano `Koshian' Yoshihisa氏が書かれたnkc(ruby スクリプトである)を使わせてもらっている。僕の個人端末には、legacy な qkc もちゃんと入っているのだけど、個人用以外のコンピュータ上では、nkf か、せいぜい nkc 位までを入れておくことにしている。