2009-04-24 4 views
0

텍스트 파일에서 두 개의 문자열을 비교하여 비교할 때이 파일을 winmerge 또는 pspad와 비교하려고하면 둘 다 동일한 텍스트 문자열로 표시됩니다. 나는 다음과 같은 기능과 비교하면, 실패 : 일부 후C# 문자열 비교 - 다른 코드 페이지

string string1 = File.ReadAllText(@"c:\file1.txt"); 
string string2 = File.ReadAllText(@"c:\file2.txt");  
bool stringMatch = false; 
if (string1.Equals(string2, StringComparison.InvariantCulture)){ 
    stringMatch = true; 
} 
//stringMatch is false here 

을 '와'다른 것 같다 검색 :

 
Content of file1.txt: é"'(§è!çà)- 
Content of file2.txt: é”’(§è!çà)- 

내가 제대로이 두 문자열을 비교 수있는 방법 "&"자와 일치합니까?

답변

1

당신은 System.Text.Encoding 아래의 방법을 사용하여 byte[]로 모두 변환 한 다음 StringComparison 걸리는 과부하를 사용하고자하는 것이 보이는 byte[] 배열

1

글쎄, 당신은 WinMerge를하거나 pspad에서 .NET 문자열이없는, 그래서 뭔가 잘 디코딩 동안 잘못 갈 수 있습니다. 당신은 당신의 정확한 시나리오를 설명 할 필요가 :

  • 파일 (따라서 WinMerge를/pspad)의 데이터인가?
  • .NET에서 파일을 어떻게로드합니까?
  • WinMerge 등에서 파일을 어떻게로드합니까?

편집 : 좋아, 의견을 기반으로 - 의도 된 파일의 인코딩은 무엇입니까? 어디서나 WinMerge에서 지정하고 있습니까? .NET은 다른 인코딩을 지정하지 않았으므로 UTF-8을 사용합니다.

+0

1) 데이터가 * .txt 파일에 있습니다. 2) 문자열 string1 = File.ReadAllText (@ "c : \ file1.txt")로 파일을 읽는 중입니다. 3) file1을 열고 사용하고 있습니다. "file2.txt와의 텍스트 차이"옵션. – Carra