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 포함) |