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필드만 따로 분리해서 처리해야 한다.(예, 한글종목코드)

+ Recent posts