Функция _WinAPI_MultiByteToWideCharEx

 ↑  ←  Описание функции


_WinAPI_MultiByteToWideCharEx

Преобразует указанную строку символов в двухбайтовую (Unicode) строку

#include <WinAPI.au3>
_WinAPI_MultiByteToWideCharEx($sText, $pText [, $iCodePage = 0 [, $iFlags = 0]])

Параметры

$sText Текст для преобразования
$pText Указатель на байтовую структуру, в которой будет сохранена преобразованная строка
$iCodePage [необязательный] Кодовая страница, используемая для преобразования:
    0 - Кодовая страница ANSI
    1 - Кодовая страница OEM
    2 - Кодовая страница Macintosh
$iFlags [необязательный] Flags that indicate whether to translate to precomposed or composite wide characters:
    $MB_PRECOMPOSED - Always use precomposed characters
    $MB_COMPOSITE - Always use composite characters
    $MB_USEGLYPHCHARS - Use glyph characters instead of control characters

Возвращаемое значение

Успех:Возвращает True
Ошибка:Возвращает False

Примечания

Байтовая структура должна быть по крайней мере в два раза длиннее $sText

См. также

_WinAPI_MultiByteToWideChar

Пример

#include <WinAPI.au3>

$tString = DllStructCreate("byte[12]") ; 12 байт для 6 букв. 2 байта на букву.
$pString = DllStructGetPtr($tString)
$sString = ''
_WinAPI_MultiByteToWideCharEx('ЏаЁўҐв', $pString, 866, 0) ; 866
$sString &= BinaryToString(DllStructGetData($tString, 1), 2) & @CRLF
_WinAPI_MultiByteToWideCharEx('рТЙЧЕФ', $pString, 20866, 0) ; KOI8
$sString &= BinaryToString(DllStructGetData($tString, 1), 2) & @CRLF
_WinAPI_MultiByteToWideCharEx('їаШТХв', $pString, 28595, 0) ; ISO-8859-5
$sString &= BinaryToString(DllStructGetData($tString, 1), 2) & @CRLF
_WinAPI_MultiByteToWideCharEx('Привет', $pString, 65001, 0) ; UTF8
$sString &= BinaryToString(DllStructGetData($tString, 1), 2) & @CRLF
MsgBox(0, 'Сообщение', $sString)