2014-04-01 5 views
0

많은 파일에 문자열이 있습니다. 이 문자열을이 모든 파일의 다른 값으로 대체하려고합니다..Net을 사용하여 알 수없는 인코딩으로 파일의 텍스트를 바꾸는 방법은 무엇입니까?

파일의 인코딩과 확장이 다를 수 있습니다.

그래서 나는 모든 파일

void ReplaceInFile(string file, string oldValue, string newValue) 
{ 
string text = File.ReadAllText(file); 
text = text.Replace(oldValue, newValue); 
File.WriteAllText(file, text); 
} 

위해 다음 방법을 사용하고 있습니다하지만 난 어떤 특별한 인코딩을 가지고있는 그들 중 일부는 파산하지 않습니다 모르겠어요. 내가 맞습니까?

다른 인코딩이있는 파일에 대해이 작업을 수행하려면 어떻게해야합니까?

어떻게해도 문제가 없는지 확인할 수 있습니까?

+0

각 특정 파일의 인코딩을 알거나 확인하는 방법이 없다고 가정합니다. – Kjartan

+0

인코딩을 모를 때 텍스트를 변경하는 것은 안전하지 않습니다. 알 수없는 인코딩으로 파일을 읽으면 예외가 발생하거나 일부 문자가 다른 문자로 변경 될 수 있습니다. –

+1

인코딩이 잘못되면 oldValue를 찾지 못할 것입니다. oldValue를 찾지 못하면 저장하지 마십시오. 올바른 인코딩을 보장하지 않는 oldValue를 찾더라도. – Paparazzi

답변

1

데이터를 올바르게 해석하려면 파일의 인코딩을 알아야합니다.

관련 문제