改行コードにご用心。

masa-m2005-05-14


ザウルスのソフト「CaTrain」のデータのことで、けっこう悩んだことがありました。


大雑把に説明しておくと。
CaTrain」とは、時刻表を表示してくれるソフト「NextTrain」の互換ソフトです。

NextTrain」の互換ソフトは色々出ていて、僕もこれまでに、Palm用「DA TrainTime」、PocketPC用「NextTrain for PocketPC」を使ったことがあります。
互換というだけあって、ザウルス用も(あるいは他のプラットフォーム用も)含めて、データを使い回すことができます。

たとえば、最初に使ったPalmのメモ帳上に作っていたデータを、Mac上でテキストに書き出し、それに「.tbl」と拡張子をつけて、PocketPC用のデータとすれば、ちゃんと表示してくれます。

そのときは、それでオッケーだったんだけど……。


互換性があるだろうからと、PocketPCで使ってたTBL形式のテキストをそのまま流用しようとしたのですが、データとして認識されませんでした。まっしろ。あらー。

で、困ってたら、ザウルス用互換ソフトには「ntrain」というのもあって(フローティングウィンドウ表示もできるなど、これも面白そう)、こちらはJAVAで動作する都合上、文字コードは「UTF-8」に限定されるという制限があることを知りました。

なので、てっきりこれも文字コードが悪いのかと思って、Mac上でmiを使ってUTF-8に変換してみたら、認識はしたけれど、ひどい文字化け。
でも、とにかく認識はしたのだからと、文字コードをJIS、EUC-JP、ISO8859-1等々、選択できる限りのものを取っ換え引っ換え入れ替えてみました。
でも、文字化けの方式が変わっていくだけで、いっこうに改善されません。

なぜ?(るるー)


……と、ひたすら悩んでいたのですが、答えは非常に簡単でした。
問題は文字コードではなく、改行コードの方だったんです。
Mac用の改行コード(CR)になっていたため、認識できなかったのでした。
で、それをWindows用(CR+LF)に変換してやると、あっけなく認識してしまいました。ちゃんちゃん。


逆に言うと、Mac用の改行コードでも、ずっと問題なく認識してくれていたPocketPC用のやつは、なんて偉いんだろうとか思ったりしましたけど。

ちょっと昔は、Windows機やワープロ専用機を使ってる人とのデータのやり取りは、改行コードを直すのが当然の作業というか、一種の儀式になってたんだけど、最近はMacWindowsも賢くなり、そういうことで頭を悩ませることもなくなってました。
で、忘れちゃってましたね、そういうの。なんかちょっと懐かしい?(笑)


いずれにせよ、こういう問題は、特に「CaTrain」に限定したものではなく、他のソフトでも発生するかもしれませんよね。
なので、「改行コード」というのは、時おりキーワードになるかもしれない、と思いました。