Adam Strudwick
Adam Strudwick

Reputation: 13129

Files with same content differ in sizes

Here is the protocol:

1) I generate a text file online with PHP containing alphanumeric characters. Then I download it and note its size (from Properties menu).

2) I open the text file with Notepad++ and cut all the content in a new text file, then I save the new file (with the same name).

3) To my astonishment, even thought both files have the exact same text content, their size isn't the same!

--TEST 1--

Downloaded file: 1529 Ko

New copy file: 1594 Ko

--TEST 2--

Downloaded file: 52 Ko

New copy file: 54 Ko


So what? Why am I posting this here? Because the file in question is available to my users for download on my website, and they can use it to replace a file in a game's save. However, the game reacts to the new file by rejecting it, whilst the copied one (with the above protocol) works fine.

The only difference I see between both files is their size (slight difference as shown above) - but the content and the name is the same. Any idea why there is that size difference?

Upvotes: 0

Views: 354

Answers (2)

mrd081
mrd081

Reputation: 279

Is your client and server are different platforms ? Say linux and windows ? In that case there is a difference in the way new line characters are stored. This can cause size difference. Another reason could be character encoding used but it is little less likely.

Upvotes: 0

Robbie
Robbie

Reputation: 17710

This will most likely be newlines that are converted between unix (1 byte) and windows (2 bytes).

As mentioned in the comments, it could also be encoding, but NotePad++ is pretty good at encoding. It's also unlikely to account for the difference.

You need to convert the "\r\n" to "\n" to get the smaller filesize. Here's a page I just found with a few options: http://darklaunch.com/2009/05/06/php-normalize-newlines-line-endings-crlf-cr-lf-unix-windows-mac

Another thingto watch for is a trailing "newline" which is not very obvious. Again, strip it out before doing your comparisson.

Upvotes: 1

Related Questions