内容相同的文件大小不同

时间:2012-08-29 04:31:46

标签: php

以下是协议:

1)我使用包含字母数字字符的PHP在线生成文本文件。然后我下载并记下它的大小(从“属性”菜单中)。

2)我用Notepad ++打开文本文件并剪切新文本文件中的所有内容,然后保存新文件(同名)。

3)令我惊讶的是,即使两个文件都有完全相同的文字内容,它们的大小也不一样!

- TEST 1 -

已下载文件: 1529 Ko

新副本文件: 1594 Ko

- TEST 2 -

已下载文件: 52 Ko

新副本文件: 54 Ko


那又怎样?我为什么要在这里发帖?因为有问题的文件可供我的用户在我的网站上下载,他们可以用它来替换游戏保存中的文件。但是,游戏通过拒绝它来对新文件作出反应,而复制的文件(使用上述协议)可以正常工作。

我在两个文件之间看到的唯一区别是它们的大小(如上所示略有差异) - 但内容和名称是相同的。知道为什么会出现这种尺寸差异吗?

2 个答案:

答案 0 :(得分:1)

这很可能是在unix(1字节)和windows(2字节)之间转换的换行符。

正如评论中所提到的,它也可能是编码,但NotePad ++非常擅长编码。它也不太可能解释差异。

您需要将“\ r \ n”转换为“\ n”以获取较小的文件大小。这是我刚找到的一个页面,其中包含几个选项:http://darklaunch.com/2009/05/06/php-normalize-newlines-line-endings-crlf-cr-lf-unix-windows-mac

要注意的另一件事是一个尾随的“新线”,这不是很明显。再次,在进行比较之前将其剥离。

答案 1 :(得分:0)

您的客户端和服务器是不同的平台吗?说linux和windows?在这种情况下,存储新行字符的方式不同。这可能导致尺寸差异。 另一个原因可能是使用了字符编码,但可能性稍差。