2014-01-07 2 views
0

코드를 통해 텍스트 파일 인코딩을 어떻게 변경합니까? 나는 실제로 파일 자체를 만들려면이 코드를 사용하고 있지만, 어떻게 당신이 그런 일을 할 수텍스트 파일 인코딩 변경

string path = @"E:\Test\Example.txt"; 
if (!File.Exists(path)) 
{ 
    File.Create(path); 
} 
+4

을 파일 당신이 그것을 가지고에 쓰기 인코딩, 텍스트가 없습니다 – okrumnow

+0

코드를 사용하여 텍스트의 인코딩을 변경하는 방법이 있습니까? – MasterOfStupidQuestions

답변

3

(/ BOM 승을 UTF-8로 변경) 인코딩을 변경할 수 있습니다,하지만 난 모르겠어요 당신이 당신의 파일에 어떤 내용이없는 것 같다 당신은 내용이있을 경우, 내용에 의해 string.Empty을 대체

이 정말 ..., 감지하게

File.WriteAllText(path, string.Empty, Encoding.GetEncoding(<someEncodingCode>)); 

편집 :

File.WriteAllText(path, string.Empty, new UTF8Encoding(false)); 
+0

UTF8에 대한 BOM없이 encodingCode를 알고 있습니까? – MasterOfStupidQuestions

+0

@ user2954053 편집을 참조하십시오. –

0

먼저, 몇 개의베이스 (eg. 유니 코드 BOM, XML의 인코딩 규칙) 현재 인코딩을 알려주는 메타 데이터 형식이 필요합니다. 일부 도구는 추측 할 수 있지만 신뢰할 수는 없습니다 (예 : ISO/IEC 8859-1의 다양한 라틴 인코딩에는 구분할 항목이 없습니다).

은 입력 인코딩을 알면

StreamReader 생성자, 원하는 출력 인코딩 StreamWriter의 인스턴스를 생성하고 다른 하나에서 문자열을 펌프 인코딩의 이름으로 만든 Encoding의 인스턴스를 전달한다.

(당신이 파일이 두 개의 큰없는 알고있는 경우 :. File.ReadAllTetxt로 한 번에 모든 것을 읽고 Encoding 매개 변수를 File.WriteAllText와 쓰기

+0

데이터가 수동으로 텍스트 파일로 잘라내어 붙여 넣기 될 것입니다. 그냥 자동으로 생성되기를 원합니다 - 이제는 텍스트가 인코딩이 아닌 파일 인 것을 볼 수 있습니다. – MasterOfStupidQuestions