2012-04-30 86 views
-1

我有两个文件给出相同的散列,甚至相同的hexdump。文件A和文件B分别在Linux Box 1和Linux Box 2上启动。然后我将这两个文件复制到Windows共享中,然后从Windows机器上读取它们。这些文件似乎与Windows实用程序Fc(使用/ b选项 - 二进制模式)逐字节相同。但是,当我打开两个不同的文件时,它们看起来有不同的编码(换行符/换行符)。为什么没有被哈希/ hexdump/Fc发现呢?相同的散列,不同的行为

我在这里忽略了什么?

+0

你如何确定他们有不同的编码和/或换行符? – deceze

+0

在写字板中打开它们。 – iamtheneal

回答

0

不要使用写字板了点。其实,根本不要使用写字板。请注意,微软通常不会遵守标准,并且在很多时候(例如浏览器)只是简单地获取并通知对文件或流内容的猜测,并使用标题作为某种魔术。有时它猜测错误,有时它不会。

你可以计算出在Windows机器上散为好,也有很多类似的计算windows资源管理器内的安全混编轻巧实用程序。您还可以在Windows上安装命令行实用程序(如OpenSSL)(或者进一步安装Cygwin,我一直在Windows计算机上运行它)。

的Windows从未有过关于行尾一个真正的战略,除了要保持它自己的双重性格的标准。在后来的Windows版本中,如果必须的话,你可以使用记事本(最终)理解Unix换行符(因为这可能会导致UTF-16这一次出现)。

相关问题