다음을 통해 공유


CPINFO 구조체(winnls.h)

코드 페이지에 대한 정보를 포함합니다. 이 구조체는 GetCPInfo 함수에서 사용됩니다.

구문

typedef struct _cpinfo {
  UINT MaxCharSize;
  BYTE DefaultChar[MAX_DEFAULTCHAR];
  BYTE LeadByte[MAX_LEADBYTES];
} CPINFO, *LPCPINFO;

멤버

MaxCharSize

코드 페이지에 있는 문자의 최대 길이(바이트)입니다. 길이는 SBCS( 단일 바이트 문자 집합 )의 경우 1, DBCS( 더블 바이트 문자 집합 )의 경우 2이거나 다른 문자 집합 형식의 경우 2보다 큰 값일 수 있습니다. 함수는 ISCII 또는 ISO-2022-xx 코드 페이지의 사용과 같은 다른 요인으로 인해 SBCS 또는 DBCS를 다른 문자 집합과 구분하기 위해 크기를 사용할 수 없습니다.

DefaultChar[MAX_DEFAULTCHAR]

문자열을 특정 코드 페이지로 변환할 때 사용되는 기본 문자입니다. 명시적 기본 문자를 지정하지 않은 경우 이 문자는 WideCharToMultiByte 함수에서 사용됩니다. 기본값은 일반적으로 코드 페이지의 "?" 문자입니다.

LeadByte[MAX_LEADBYTES]

리드 바이트 범위 수가 가변적인 리드 바이트 범위의 고정 길이 배열입니다. 코드 페이지에 리드 바이트가 없으면 배열의 모든 요소가 NULL로 설정됩니다. 코드 페이지에 리드 바이트가 있는 경우 배열은 각 범위에 대한 시작 값과 끝 값을 지정합니다. 범위는 포함되며 모든 코드 페이지의 최대 범위 수는 5개입니다. 배열은 2바이트를 사용하여 각 범위를 설명하고 마지막 범위 다음에 두 개의 null 바이트를 종결자로 사용합니다.

참고 일부 코드 페이지에서는 리드 바이트와 다른 인코딩 메커니즘의 조합을 사용합니다. 이 멤버는 일반적으로 일부 형식의 리드 바이트를 사용하는 코드 페이지의 하위 집합에 대해서만 채워집니다. 자세한 내용은 주의 섹션을 참조하세요.
 

설명

리드 바이트는 256자 이상을 허용하는 DBCS 코드 페이지에 고유합니다. 리드 바이트는 DBCS에서 2 바이트 문자의 첫 번째 바이트입니다. 각 DBCS 코드 페이지에서 리드 바이트는 특정 바이트 값 범위를 차지합니다. 이 범위는 다른 코드 페이지에 대해 다릅니다.

리드 바이트 정보는 대부분의 코드 페이지에 매우 유용하지 않으며 UTF-8 및 GB18030 같은 많은 멀티 바이트 인코딩에도 제공되지 않습니다. 애플리케이션은 MultiByteToWideChar 또는 WideCharToMultiByte 함수가 수행할 작업을 예측하기 위해 이 정보를 사용하지 않는 것이 좋습니다. 리드 바이트 뒤에 있는 바이트가 예상대로 되지 않으면 함수가 기본 문자를 사용하거나 다른 기본 동작을 수행할 수 있습니다.

GetCPInfoEx 함수에서 사용하는 CPINFOEX는 이 구조체의 확장된 버전을 제공합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
머리글 winnls.h(Windows.h 포함)

추가 정보

CPINFOEX

GetCPInfo

MultiByteToWideChar

국가 언어 지원 구조

WideCharToMultiByte