CPINFOEXA 구조체(winnls.h)
코드 페이지에 대한 정보를 포함합니다. 이 구조체는 GetCPInfoEx 함수에서 사용됩니다.
구문
typedef struct _cpinfoexA {
UINT MaxCharSize;
BYTE DefaultChar[MAX_DEFAULTCHAR];
BYTE LeadByte[MAX_LEADBYTES];
WCHAR UnicodeDefaultChar;
UINT CodePage;
CHAR CodePageName[MAX_PATH];
} CPINFOEXA, *LPCPINFOEXA;
멤버
MaxCharSize
코드 페이지에 있는 문자의 최대 길이(바이트)입니다. 길이는 SBCS( 단일 바이트 문자 집합 )의 경우 1, DBCS( 더블 바이트 문자 집합 )의 경우 2이거나 다른 문자 집합 형식의 경우 2보다 큰 값일 수 있습니다. 함수는 ISCII 또는 ISO-2022-xx 코드 페이지의 사용과 같은 다른 요인으로 인해 SBCS 또는 DBCS를 다른 문자 집합과 구분하기 위해 크기를 사용할 수 없습니다.
DefaultChar[MAX_DEFAULTCHAR]
문자열을 특정 코드 페이지로 변환할 때 사용되는 기본 문자입니다. 명시적 기본 문자를 지정하지 않은 경우 이 문자는 WideCharToMultiByte 함수에서 사용됩니다. 기본값은 일반적으로 코드 페이지의 "?" 문자입니다.
LeadByte[MAX_LEADBYTES]
리드 바이트 범위 수가 가변적인 리드 바이트 범위의 고정 길이 배열입니다. 코드 페이지에 리드 바이트가 없으면 배열의 모든 요소가 NULL로 설정됩니다. 코드 페이지에 리드 바이트가 있는 경우 배열은 각 범위에 대한 시작 값과 끝 값을 지정합니다. 범위는 포함되며 모든 코드 페이지의 최대 범위 수는 5개입니다. 배열은 2바이트를 사용하여 각 범위를 설명하고 마지막 범위 다음에 두 개의 null 바이트를 종결자로 사용합니다.
UnicodeDefaultChar
특정 코드 페이지의 번역에 사용되는 유니코드 기본 문자입니다. 기본값은 일반적으로 "?" 문자 또는 가타카나 중간 점 문자입니다. 유니코드 기본 문자는 MultiByteToWideChar 함수에서 사용됩니다.
CodePage
코드 페이지 값입니다. 이 값은 GetCPInfoEx 함수에 전달된 코드 페이지를 반영합니다. ANSI 및 기타 코드 페이지 목록은 코드 페이지 식별자를 참조하세요.
CodePageName[MAX_PATH]
코드 페이지의 전체 이름입니다. 이 이름은 지역화되어 있으며 운영 체제 버전 또는 컴퓨터 간의 고유성 또는 일관성이 보장되지 않습니다.
설명
리드 바이트는 256자 이상을 허용하는 DBCS 코드 페이지에 고유합니다. 리드 바이트는 DBCS에서 2 바이트 문자의 첫 번째 바이트입니다. 각 DBCS 코드 페이지에서 리드 바이트는 특정 바이트 값 범위를 차지합니다. 이 범위는 다른 코드 페이지에 대해 다릅니다.
리드 바이트 정보는 대부분의 코드 페이지에 매우 유용하지 않으며 UTF-8 및 GB18030 같은 많은 멀티 바이트 인코딩에도 제공되지 않습니다. 애플리케이션은 MultiByteToWideChar 또는 WideCharToMultiByte 함수가 수행할 작업을 예측하기 위해 이 정보를 사용하지 않는 것이 좋습니다. 리드 바이트 뒤에 있는 바이트가 예상대로 되지 않으면 함수가 기본 문자를 사용하거나 다른 기본 동작을 수행할 수 있습니다.
참고
winnls.h 헤더는 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 CPINFOEX를 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.
요구 사항
지원되는 최소 클라이언트 | Windows 2000 Professional [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱 | UWP 앱] |
머리글 | winnls.h(Windows.h 포함) |