13時01分26秒 [ソフトウェア]
ちょっと不思議な現象。
全く同じ内容のはずなのに、なぜかファイルサイズが異なります…。テキストファイルなのに。なんで?(^^;)
比較しているのは、CGIファイルです。1つはローカルにあったもの、もう1つはZIP形式で圧縮してサーバに置いてあったモノを今ローカルに展開したもの。
両者では、更新日時が異なるのですが、ファイル比較ソフトやFCコマンドを使っても、両者の中身は同一です。テキストエディタで見ても、251行という行数は同じです。
FCコマンドでも同一だと報告されているので、全く同じ中身だと思うのですが、ファイルのプロパティを見ると、ファイルサイズが異なります。(ディスク上のサイズではなく、実体のサイズ。)
文字コードは共にSHIFT-JISで同一です。SHIFT-JISはプレーンテキストで、UnicodeのBOMみたいにバイナリが含まれたりすることはありません。
下図は、その2ファイルのプロパティを並べてみたところ。
FCコマンドでは、「相違点は検出されませんでした」と報告されます。
なんで、ファイルサイズが250バイトほど異なるんだろう?
…あ!
ここまで書いて分かりました。(笑)
251行存在していて、サイズの差異が250バイト!とくれば、もう原因は「改行コード」しかありませんよね。(笑)
バイナリエディタに読み込ませて確認したところ、サイズの大きい方は改行が「CR+LF(0D0A)」で、小さい方は改行が「LF(0A)」だけでした。
なるほど。
解決!(^^;)
(▲バイナリエディタで2ファイルを比較してみたところ)
不思議でも何でもなかった。
FCコマンド、パラメータを何も付けずにファイルパスだけを与えて比較すると、「テキスト」として比較するので改行コードの差は吸収しちゃうのですね。試しに、「/b」を加えてバイナリとして比較させると、ちゃんとコード「0D0A」の出現箇所が相違点として指摘されました。^^;
めでたし、めでたし。
この日記へのコメントはお気軽に! コメント数:0件
コメント数: 0件