2009年7月8日水曜日

ファイルの圧縮で改行コードが変わる?

まさかね。 そんなはずはない、と思ってました。 でも、この改行コードと圧縮についてのエントリーを読んで、 もしかしてと思い立ち、調査したんです。 そうしたら、圧縮→解凍して、改行コードが変わる場合を見つけました。 まだ調査中なのですが、以下のような条件です。
  1. あるテキストファイルは、改行コードが「LF」と「CR+LF」で混在している。
  2. このファイルをWindowsXP上で圧縮。
  3. 圧縮したファイルを別マシーン(これもWindowsXP)で解凍。
  4. するとファイルの改行コードが「CR+LF」に統一される。
という現象です。 この後調べて、
  • 解凍は「解凍レンジ」というフリーソフトを使用している。 多分、圧縮はWindows XPの機能を使っている。
  • で、圧縮したファイルを、 WindowsXP上で解凍レンジで解凍すると改行コードが変わる。 でもVista上で解凍レンジで解凍しても改行コードは変わらない。
  • 両方ともバージョンは1.40 (最新が1.41なので少し古い)。
ということが分かり、「Windows XP上で解凍すると改行コードが化ける」事例を見つけました。 さて、どうしましょう? やっぱりWindowsXPを使うのをやめるか? まずは、改行コードを統一すべきだよな。