2009-09-25 256 views
2

我通過將兩個文件讀入文件流並逐字節比較來比較兩個文件。如何在比較時跳過空格?我使用C#.NET比較兩個文件

+0

你可以發佈你現有的代碼,我們可以提供更改嗎? – MPritchard 2009-09-25 11:05:16

+0

如果你不想自己做比較。您可以在Windows中使用FC.exe工具,使用/ W(壓縮/忽略空白)開關 – 2009-09-25 11:26:19

+0

爲了正確執行此操作,您必須知道文件的編碼。它是在一些代碼頁中編碼的7位ASCII,UTF-8,UTF-16,是什麼? – 2009-09-25 14:21:42

回答

3
byte b; 

// .... 

if (Char.IsWhiteSpace((char) b)) 
{ 
    // skip... 
} 

編輯:作爲埃裏克利珀指出,如果該文件的編碼是普通7位ASCII,這是唯一正確的。在任何其他編碼中,它將跳過相關的字節。所以,你應該考慮到你的數據的編碼。

+1

這隻有在文件的編碼是純7位ASCII碼時纔是正確的。在任何其他編碼中,它將跳過相關的字節。 – 2009-09-25 14:20:53

+0

@Eric Lippert:你好,海報說他在比較字節,但你是正確的;他應該考慮到編碼。 – 2009-09-25 14:33:22