c# 언어/중급과정
EUC-KR 인코딩: C#에서는 Encoding.GetEncoding("euc-kr")를 통해 EUC-KR 인코딩을 사용할 수 있습니다.
여린완자
2024. 8. 31. 09:39
CodePagesEncodingProvider 사용 예제
CodePagesEncodingProvider를 사용하는 방법은 다음과 같습니다. 이 방법은 EUC-KR을 포함한 다양한 코드 페이지를 지원합니다.
- EUC-KR 인코딩: C#에서는 Encoding.GetEncoding("euc-kr")를 통해 EUC-KR 인코딩을 사용할 수 있습니다. 그러나, euc-kr이 지원되지 않는 환경에서는 다른 방법을 사용해야 할 수 있습니다. 이 경우, CodePagesEncodingProvider를 추가하여 EUC-KR을 지원할 수 있습니다.
- 버퍼 크기: UTF-8 인코딩은 가변 길이 문자 인코딩이므로, 변환 후 버퍼의 크기를 적절히 관리해야 합니다.
using System; using System.Text; class Program { static void Main() { // EUC-KR 인코딩 제공자를 등록 Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); // 예제 EUC-KR 인코딩된 바이트 데이터 byte[] eucKrBytes = new byte[] { /* EUC-KR로 인코딩된 바이트 데이터 */ }; // EUC-KR 인코딩으로 바이트 배열을 문자열로 변환 Encoding eucKrEncoding = Encoding.GetEncoding("euc-kr"); string eucKrString = eucKrEncoding.GetString(eucKrBytes); // 문자열을 UTF-8 인코딩으로 변환 Encoding utf8Encoding = Encoding.UTF8; byte[] utf8Bytes = utf8Encoding.GetBytes(eucKrString); // UTF-8 바이트 배열을 문자열로 변환 string utf8String = utf8Encoding.GetString(utf8Bytes); // 결과 출력 Console.WriteLine("EUC-KR String: " + eucKrString); Console.WriteLine("UTF-8 String: " + utf8String); } } |
KRX.TCP.DATA - EUC-KR로 전달되어짐
c#이 서버역할을 할떄에 EUC-KR필드만 따로 분리해서 처리해야 한다.(예, 한글종목코드)