Share via


IsDBCSLeadByteEx 함수(winnls.h)

지정된 문자가 잠재적으로 리드 바이트인지 확인합니다. 리드 바이트는 코드 페이지에 대한 DBCS( 더블 바이트 문자 집합)에서 2 바이트 문자 의 첫 번째 바이트입니다.

구문

BOOL IsDBCSLeadByteEx(
  [in] UINT CodePage,
  [in] BYTE TestChar
);

매개 변수

[in] CodePage

리드 바이트 범위를 검사 데 사용되는 코드 페이지의 식별자입니다. 이 매개 변수는 유니코드 및 문자 집합 상수 에 정의된 코드 페이지 식별자 또는 다음 미리 정의된 값 중 하나일 수 있습니다. 이 함수는 코드 페이지 932, 936, 949, 950 및 1361에서만 리드 바이트 값의 유효성을 검사합니다.

의미
CP_ACP
시스템 기본 Windows ANSI 코드 페이지를 사용합니다.
CP_MACCP
시스템 기본 Macintosh 코드 페이지를 사용합니다.
CP_OEMCP
시스템 기본 OEM 코드 페이지를 사용합니다.
CP_THREAD_ACP
현재 스레드에 Windows ANSI 코드 페이지를 사용합니다.

[in] TestChar

테스트할 문자입니다.

반환 값

바이트가 리드 바이트인 경우 0이 아닌 값을 반환합니다. 바이트가 리드 바이트가 아니거나 문자가 싱글 바이트 문자인 경우 함수는 0을 반환합니다. 확장된 오류 정보를 가져오기 위해 애플리케이션은 GetLastError를 호출할 수 있습니다.

설명

참고 이 함수는 추적 바이트의 존재 여부 또는 유효성을 검사하지 않습니다. 따라서 MultiByteToWideChar는 IsDBCSLeadByte를 사용하는 애플리케이션이 리드 바이트로 보고하는 시퀀스를 인식하지 못할 수 있습니다. 애플리케이션은 MultiByteToWideChar의 결과로 쉽게 동기화되지 않게 되어 예기치 않은 오류 또는 버퍼 크기 불일치가 발생할 수 있습니다.
 
일반적으로 애플리케이션은 코드 페이지 데이터의 하위 수준 조작을 시도하는 대신 MultiByteToWideChar 를 사용하여 데이터를 UTF-16으로 변환하고 해당 인코딩에서 작업해야 합니다.

리드 바이트 값은 각 고유 DBCS에 따라 다릅니다. 일부 바이트 값은 단일 코드 페이지에 DBCS 문자의 선행 및 후행 바이트 모두로 표시할 수 있습니다. 따라서 IsDBCSLeadByteEx 는 잠재적인 리드 바이트 값만 나타낼 수 있습니다.

DBCS 문자열을 이해하기 위해 애플리케이션은 일반적으로 문자열의 시작 부분에서 시작하여 앞으로 스캔하여 리드 바이트가 발생할 때 추적을 유지하고 다음 바이트를 동일한 문자의 후행 부분으로 처리합니다. 백업하려면 애플리케이션에서 자체 알고리즘을 개발하는 대신 CharPrevExA 를 사용해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows 2000 Server [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 winnls.h(Windows.h 포함)
라이브러리 Kernel32.lib
DLL Kernel32.dll

참고 항목

MultiByteToWideChar

유니코드 및 문자 집합 함수

유니코드 및 문자 집합

WideCharToMultiByte