2012-04-30 85 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這一次出現)。

相關問題