_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)