[C#] ANSI Encoding로 파일 저장하기
2011. 7. 18. 13:02ㆍOthers/C# 일반
엑셀에서 열리는 csv파일을 작성하거나, 전자신고 파일을 작성할 때와 같이 파일을 저장할 때 Encoding을 ANSI로 지정해야 하는 경우가 있습니다.(한국의 경우 대부분 ANSI 949 )
C#에서는 기본적으로 UTF-8 Encoding을 이용하여 파일을 저장하는데 아래와 같이 Encoding.Default로 Encoding Type를 지정하면 ANSI로 저장됩니다.
//ANSI Encoding 파일을 저장 System.IO.File.WriteAllText(strPath, strContents, Encoding.Default);
물론 해당 파일을 읽을 때도 동일하게 Encoding를 지정해주어야 한다는 사실 잊지 마세요!
//ANSI Encoding 파일을 읽음 string strContents = System.IO.File.ReadAllText(strPath, Encoding.Default);
위에서 사용한 System.Text.Encoding.Default는 다음과 같이 현재 이용 중인 운영체제의 ANSI Code Page를 의미합니다. (ASCII와 다름에 유의)
또 한가지 유의해서 구분해야 하는 것은 위와 같이 파일을 읽어 변수에 담았다고 해도, 변수에 담긴 문자열은 UTF-8이라는 사실입니다. 변수에 담긴 문자열 값을 특정 Encoding으로 담으려면 다음과 같이 System.Text.Encoding을 이용하시면 됩니다.
//UTF-8 Encoding의 문자열을 ANSI Encoding으로 변환 byte[] arrSource = System.Text.Encoding.Default.GetBytes(strContents); byte[] arrANSIContents = System.Text.Encoding.Convert(Encoding.UTF8, Encoding.Default, arrSource);
'Others > C# 일반' 카테고리의 다른 글
[C#] Class Library의 Intellisense 공유하기 (0) | 2012.01.06 |
---|---|
[C#] Internet Explorer 실행 및 연동하기 (0) | 2011.07.18 |
[C#] File, Directory 보안 설정 (0) | 2011.04.23 |
[C#] Version 자동 설정 및 BuildDateTime 구하기 (0) | 2011.04.15 |
[Office] Excel Html을 이용하여 Excel 문서 작성하기 (0) | 2011.02.28 |