2017-07-03 50 views
0

我正在开发一个IM软件,您可以在其中发送图片。最近我遇到了一个奇怪的问题:相同的图片(具有相同的md5校验和),当通过我的软件发送时,在我的软件中,我读取了不同的文件大小。相同的图片文件在不同的计算机上具有不同的大小

在我的电脑中,该软件读取了7489字节的正确大小,但在我的客户计算机中,它的大小为8700字节。这两个操作系统都是Win7 Premium版本,并使用C stat方法获取文件大小。

有人知道发生了什么吗?

+0

你能得到文件格式吗?你可以检查大小是KB还是Kb。您可以尝试将文件从客户端的机器传输到您自己的机器上吗?您确定IM在传输到客户端时不会以任何方式压缩或更改图像吗?你如何转移图像,可以提供更多细节。 – viCky

+0

文件格式为PNG。当我将鼠标移到图片上时,两个系统都会告知7.31KB的正确尺寸。我写了传输代码,所以我确信文件不会被改变。当你拿起一张图片扔IM附件按钮,我得到的文件路径,然后我检查文件大小。 –

回答

0

评论太长,我希望它达到了答案的质量。 :)

检查文件系统上的文件系统类型和分配单元大小。相同文件在不同文件系统上的报告大小不同是正常的。另外不同的软件报告的大小不同。一些报告有用的数据量,其他报告“磁盘上的文件大小”。其中描述了它消耗了多少空间。它应该是分配单元大小的整数倍。我猜7489字节是实际有用数据的大小,8700字节是磁盘上的大小。尽管分配单元大小曾经是512字节的倍数,但是在SSD上它可能不再是一个规则,但有点不寻常。所以我认为你不应该担心。这就像一个四舍五入的错误,如果你的校验和是相同的,那么这些文件是相同的。

ps:在资源管理器右键单击 - >属性将显示文件的有用大小和它在磁盘上的大小,所以你可以比较。

相关问题