Share via


IsTextUnicode 함수(winbase.h)

버퍼에 유니코드 텍스트 형식이 포함될 가능성이 있는지 확인합니다.

구문

BOOL IsTextUnicode(
  [in]                const VOID *lpv,
  [in]                int        iSize,
  [in, out, optional] LPINT      lpiResult
);

매개 변수

[in] lpv

검사할 입력 버퍼에 대한 포인터입니다.

[in] iSize

lpv로 표시된 입력 버퍼의 크기(바이트)입니다.

[in, out, optional] lpiResult

입력 시 입력 버퍼 텍스트에 적용할 테스트에 대한 포인터입니다. 출력 시 이 매개 변수는 지정된 테스트의 결과를 받습니다. 버퍼의 내용이 테스트를 통과하면 1, 실패의 경우 0입니다. 함수에 대한 입력 시 설정된 플래그만 출력 시 중요합니다.

lpiResultNULL인 경우 함수는 사용 가능한 모든 테스트를 사용하여 버퍼의 데이터가 유니코드 텍스트일 가능성이 있는지 확인합니다.

이 매개 변수는 다음 값 중 하나 이상일 수 있습니다. 값은 이진 "OR"과 결합할 수 있습니다.

의미
IS_TEXT_UNICODE_ASCII16
텍스트는 유니코드이며 0개의 확장된 ASCII 값/문자만 포함합니다.
IS_TEXT_UNICODE_REVERSE_ASCII16
유니코드 텍스트가 바이트 반전된다는 점을 제외하고 이전과 동일합니다.
IS_TEXT_UNICODE_STATISTICS
텍스트는 통계 분석을 적용하여 결정된 유니코드일 수 있습니다. 절대적인 확실성은 보장되지 않습니다. 주의 섹션을 참조하십시오.
IS_TEXT_UNICODE_REVERSE_STATISTICS
유니코드일 가능성이 있는 텍스트가 바이트 반전된다는 점을 제외하고 이전과 동일합니다.
IS_TEXT_UNICODE_CONTROLS
텍스트에는 RETURN, LINEFEED, SPACE, CJK_SPACE, TAB 등 인쇄되지 않는 문자 중 하나 이상의 유니코드 표현이 포함되어 있습니다.
IS_TEXT_UNICODE_REVERSE_CONTROLS
유니코드 문자가 바이트 반전된다는 점을 제외하고 이전과 동일합니다.
IS_TEXT_UNICODE_BUFFER_TOO_SMALL
의미 있는 분석을 위해 버퍼에 문자가 너무 적습니다(2바이트 미만).
IS_TEXT_UNICODE_SIGNATURE
텍스트에는 BOM(유니코드 바이트 순서 표시) 0xFEFF 첫 번째 문자로 포함됩니다.
IS_TEXT_UNICODE_REVERSE_SIGNATURE
텍스트에는 첫 번째 문자로 유니코드 바이트 반전 바이트 순서 표시(역방향 BOM) 0xFFFE 포함됩니다.
IS_TEXT_UNICODE_ILLEGAL_CHARS
텍스트에는 포함된 역방향 BOM, UNICODE_NUL, CRLF(한 단어로 압축) 또는 0xFFFF 유니코드가 잘못된 문자 중 하나가 포함됩니다.
IS_TEXT_UNICODE_ODD_LENGTH
문자열의 문자 수가 홀수입니다. 홀수 길이의 문자열은 (정의상) 유니코드 텍스트일 수 없습니다.
IS_TEXT_UNICODE_NULL_BYTES
텍스트에는 비 ASCII 텍스트를 나타내는 null 바이트가 포함됩니다.
IS_TEXT_UNICODE_UNICODE_MASK
값은 IS_TEXT_UNICODE_ASCII16, IS_TEXT_UNICODE_STATISTICS, IS_TEXT_UNICODE_CONTROLS, IS_TEXT_UNICODE_SIGNATURE 조합입니다.
IS_TEXT_UNICODE_REVERSE_MASK
값은 IS_TEXT_UNICODE_REVERSE_ASCII16, IS_TEXT_UNICODE_REVERSE_STATISTICS, IS_TEXT_UNICODE_REVERSE_CONTROLS, IS_TEXT_UNICODE_REVERSE_SIGNATURE 조합입니다.
IS_TEXT_UNICODE_NOT_UNICODE_MASK
값은 IS_TEXT_UNICODE_ILLEGAL_CHARS, IS_TEXT_UNICODE_ODD_LENGTH 및 현재 사용되지 않는 두 비트 플래그의 조합입니다.
IS_TEXT_UNICODE_NOT_ASCII_MASK
값은 IS_TEXT_UNICODE_NULL_BYTES 세 개의 현재 사용되지 않는 비트 플래그의 조합입니다.

반환 값

버퍼의 데이터가 지정된 테스트를 통과하는 경우 0이 아닌 값을 반환합니다. 버퍼의 데이터가 지정된 테스트를 통과하지 못하면 함수는 0을 반환합니다.

설명

이 함수는 다양한 통계 및 결정적 메서드를 사용하여 lpiResult 매개 변수에 전달된 플래그를 제어하여 결정합니다. 함수가 반환되면 동일한 매개 변수를 사용하여 이러한 테스트의 결과가 보고됩니다.

IS_TEXT_UNICODE_STATISTICS 및 IS_TEXT_UNICODE_REVERSE_STATISTICS 테스트는 통계 분석을 사용합니다. 이러한 테스트는 완벽하지 않습니다. 통계 테스트는 문자열에서 낮은 바이트와 높은 바이트 사이의 특정 양의 변형을 가정하며 일부 ASCII 문자열은 미끄러질 수 있습니다. 예를 들어 lpv 가 ASCII 문자열 0x41, 0x0A, 0x0D, 0x1D(A\n\r^Z)를 나타내는 경우 실패가 바람직하지만 문자열은 IS_TEXT_UNICODE_STATISTICS 테스트를 통과합니다.

요구 사항

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

추가 정보

유니코드 및 문자 집합 함수

유니코드 및 문자 집합