WinとMacでUnicode文書を検索

4月 20th, 2004
[`evernote` not found]
Facebook にシェア

仕事によっては、Unicodeのテキストファイルを積極的に利用していこうといろいろ試している。JISコード(正確にはJIS X 0208)にない文字も、OSやアプリケーションを問わずにやり取りできて便利だろうと思うからだ。
例えば、私は用語辞典の仕事をしており、紙とデジタルで同じデータを活用できると仕事が楽になる。ところが、丸数字(「?」など。カギ括弧内は環境によっては見えないかも)1つ取っても厄介だ。今までDTPオペレータにシフトJISで原稿データを渡していたが、Windowsの文字コード(シフトJISを拡張したCP932)とMacでは丸数字のコードも異なる。気の利いたDTPオペレータなら、Windows機種(プラットフォーム)依存文字の自動変換処理くらいはしてくれるから、紙に印刷する分には問題にはならない。ところが、一度DTPソフトに流し込んだテキストを抜き出して、再利用しようとするとこうした文字コードの違いが問題になってくる。そこで、Unicodeで文字コードを統一できれば、データの再利用がしやすくなるはずだ。


Unicodeの文字集合を実際に利用するには、UTF-8UTF-16(2つの違いについてはこちら)などのエンコーディングスキーム(符号化の手法)を用いる。UTF-8だと、英数字で書かれた文書であればこれまでのものがそのまま使えるので、XMLなどではこちらが使われる。ちなみに、ブログでもUTF-8で書かれているものは多い。OSの内部処理などにはUTF-16が使われているようだ。

UTF-8とUTF-16の文書を作って、Windows XP(SP1)とMac OS X 10.3.3の標準機能で検索できるかどうか試してみた。その結果は、BOM(Byte Order Mark)付きのUTF-16であれば、ビッグエンディアンでもリトルエンディアンでもOKというものだった。UTF-8はBOM(というのかな?)ありなしどちらでもダメ。どちらのOSでも、標準のメモ帳やテキストエディットでUTF-8に対応しているのだから、OSの検索機能でも見つけられるようにしてほしいところだけど。ついでに言うと、メモ帳ではUTF-16をUnicodeと表記してあるとか、テキストエディットではUTF-16のエンディアンが書いてなかったりとか(Macだからビッグエンディアンだというのはみんなが知っている知識ではないだろう)、用語が不統一で混乱している。

なお、エンディアンBOMについては、リンク先などを参照のこと。このあたりの説明はややこしいが、『文字コード超研究』でとても上手に解説されている。この本では、2進法・16進法の説明も丁寧に書かれているし、コンピュータでどういう風に文字を取り扱っているかに興味を持ったらぜひ読んでもらいたいと思う(そういえば、確かに最近は2進法・16進法の詳しい解説をあまり見かけなくなった)。本の分厚さにひるむかもしれないが、語り口が平易だから、かなり取っつきやすい。

Leave a Reply

Comments links could be nofollow free.