にしし ふぁくとりー(西村文宏 個人サイト)

Presented by Nishishi via Movable Type. Last Updated: 2015/09/22. 13:23:42.

同一ファイルなのにサイズが異なる謎

ちょっと不思議な現象。
全く同じ内容のはずなのに、なぜかファイルサイズが異なります…。テキストファイルなのに。なんで?(^^;)

比較しているのは、CGIファイルです。1つはローカルにあったもの、もう1つはZIP形式で圧縮してサーバに置いてあったモノを今ローカルに展開したもの。
両者では、更新日時が異なるのですが、ファイル比較ソフトやFCコマンドを使っても、両者の中身は同一です。テキストエディタで見ても、251行という行数は同じです。

FCコマンドでも同一だと報告されているので、全く同じ中身だと思うのですが、ファイルのプロパティを見ると、ファイルサイズが異なります。(ディスク上のサイズではなく、実体のサイズ。)

文字コードは共にSHIFT-JISで同一です。SHIFT-JISはプレーンテキストで、UnicodeのBOMみたいにバイナリが含まれたりすることはありません。

下図は、その2ファイルのプロパティを並べてみたところ。
同じファイルのはずなのにファイルサイズが違う…?

FCコマンドでは、「相違点は検出されませんでした」と報告されます。
FCコマンドでは同一だと報告

なんで、ファイルサイズが250バイトほど異なるんだろう?

…あ!

ここまで書いて分かりました。(笑)
251行存在していて、サイズの差異が250バイト!とくれば、もう原因は「改行コード」しかありませんよね。(笑)

バイナリエディタに読み込ませて確認したところ、サイズの大きい方は改行が「CR+LF(0D0A)」で、小さい方は改行が「LF(0A)」だけでした。
なるほど。

解決!(^^;)

バイナリエディタで比較
(▲バイナリエディタで2ファイルを比較してみたところ)

不思議でも何でもなかった。
FCコマンド、パラメータを何も付けずにファイルパスだけを与えて比較すると、「テキスト」として比較するので改行コードの差は吸収しちゃうのですね。試しに、「/b」を加えてバイナリとして比較させると、ちゃんとコード「0D0A」の出現箇所が相違点として指摘されました。^^;

めでたし、めでたし。

コメント

コメント数: 0件

コメント投稿欄 この日記に対するコメント投稿を歓迎します。

保存しますか?



※本文中にURLは書けません。(書くと投稿が拒否されますのでご注意下さい。)

※投稿内容は、実際にページ上に掲載される前に、管理者によって確認される設定にしている場合があります。その場合は、投稿後にその旨が表示されます。たいてい1~2日以内には表示されるはずですので、気長にお待ち願います。m(_ _)m

トラックバック

このエントリーへのトラックバックURLを表示するにはここをクリック
※スパム防止のため、トラックバックURLは別ウインドウで表示します。(JavaScriptが有効でないと表示されません。)

--- 当サイト内を検索 ---