Поделиться через


Функция IsDBCSLeadByteEx (winnls.h)

Определяет, является ли указанный символ потенциально ведущим байтом. Ведущий байт — это первый байт двухбайтового символа в двухбайтовой кодировке (DBCS) для кодовой страницы.

Синтаксис

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, если байт не является ведущим байтом или если символ является однобайтным. Чтобы получить расширенные сведения об ошибке, приложение может вызвать GetLastError.

Комментарии

Примечание Эта функция не проверяет наличие или допустимость байта следа. Таким образом, MultiByteToWideChar может не распознать последовательность, которую приложение, использующее IsDBCSLeadByte , сообщает в качестве байта свинца. Приложение может легко не синхронизироваться с результатами MultiByteToWideChar, что может привести к непредвиденным ошибкам или несоответствиям размера буфера.
 
Как правило, вместо низкоуровневой обработки данных кодовой страницы приложения должны использовать MultiByteToWideChar для преобразования данных в UTF-16 и работы с ними в этой кодировке.

Значения байтов свинца относятся к каждому отдельному DBCS. Некоторые байтовые значения могут отображаться на одной кодовой странице как начальный и конечный байт символа DBCS. Таким образом, IsDBCSLeadByteEx может указывать только потенциальное значение байта свинца.

Чтобы понять смысл строки DBCS, приложение обычно начинается в начале строки и сканирует вперед, отслеживая, когда встречается байт свинца, и обрабатывает следующий байт как завершающую часть того же символа. Для резервного копирования приложение должно использовать CharPrevExA вместо того, чтобы пытаться разработать собственный алгоритм.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Профессиональная [классические приложения | Приложения UWP]
Минимальная версия сервера Windows 2000 Server [классические приложения | Приложения UWP]
Целевая платформа Windows
Header winnls.h (включая Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

MultiByteToWideChar

Функции Юникода и кодировки

Юникод и наборы символов

WideCharToMultiByte