다음을 통해 공유


코드 페이지의 인코딩 지원

업데이트: 2007년 11월

.NET Framework에서 유니코드를 사용하면 응용 프로그램에서 더 이상 코드 페이지를 참조할 필요가 없으므로 지역화 대비 응용 프로그램을 보다 간편하게 개발할 수 있습니다. 코드 페이지는 선택된 문자 코드(코드 포인트로 표시되는 문자)를 특정 순서대로 나열한 목록이며, 일반적으로 공용 쓰기 시스템을 공유하는 특정 언어 또는 언어 그룹을 지원하기 위해 정의됩니다.

Windows 코드 페이지는 256개의 코드 포인트를 포함하며 0부터 시작합니다. 대부분의 코드 페이지에서는 연속성 및 레거시 코드를 위해 0에서 127 사이의 코드 포인트가 같은 문자를 나타냅니다. 128에서 255까지의 코드 포인트는 코드 페이지마다 크게 다릅니다. 예를 들어, 코드 페이지 1253에서는 그리스어 쓰기 시스템에 필요한 문자 코드를 제공하며 코드 페이지 1252는 영어, 독일어 및 프랑스어를 포함하는 라틴어 쓰기 시스템을 위한 문자를 제공합니다. 코드 페이지 1253의 마지막 128개의 코드 포인트에는 그리스어 문자가, 코드 페이지 1252의 마지막 128개의 코드 포인트에는 악센트 문자가 들어 있습니다. 따라서 응용 프로그램에서 그리스어와 독일어를 같은 코드 스트림에 저장하려면 참조되는 코드 페이지를 나타내는 식별자를 포함시켜야 합니다.

DBCS(더블바이트 문자 집합) 체계는 문자 수가 256개를 넘는 한국어, 중국어 및 일본어 등의 언어를 위해 개발되었습니다. DBCS에서는 한 쌍의 코드 포인트(더블바이트)가 각 문자를 나타냅니다. 응용 프로그램에서 DBCS 데이터를 처리할 때 DBCS 문자의 첫 번째 바이트(선행 바이트)는 단독으로 처리되지 않으며 바로 뒤에 오는 후행 바이트와 함께 처리됩니다. 이 체계를 사용해도 일본어와 중국어 등의 두 언어를 같은 데이터 스트림에 함께 사용할 수는 없습니다. 이는 한 쌍의 더블바이트 코드 포인트가 코드 페이지에 따라 서로 다른 문자를 나타낼 수 있기 때문입니다.

.NET Framework에서는 코드 페이지를 사용하여 인코딩된 문자를 지원합니다. 응용 프로그램에서는 GetEncoding 메서드를 사용하여 지정된 코드 페이지에 대한 인코딩 개체를 만들 수 있습니다. 다음 코드 예제에서는 코드 페이지 1252에 대한 인코딩 개체를 만듭니다.

Encoding enc = Encoding.GetEncoding(1252)
Encoding enc = Encoding.GetEncoding(1252);

응용 프로그램에서 지정된 코드 페이지에 해당하는 Encoding 개체를 만든 후 이 개체를 사용하여 Encoding 클래스가 지원하는 기타 작업을 수행할 수 있습니다. 이 클래스를 사용하는 예제는 유니코드 인코딩 사용 항목의 "Encoding 클래스 사용" 하위 항목을 참조하십시오.

참고 항목

개념

.NET Framework의 유니코드