Parameter | Description |
---|---|
pMultiCharBuffer | A null terminated string |
eCharType | The type of string encoding, which may be OEM (CP_OEMCP), ANSI (CP_ACP) or UTF-8 (CP_UTF8) |
iLen (ByRef) | Returns the length, in wide characters, of the Unicode string |
The buffer address along with the length in wide characters of the Unicode string, which is returned by reference in iLen.
Function Utf16FromBuffer Pointer pMultiCharBuffer Integer eCharType Integer ByRef iLen Returns Pointer
Call: | Get Utf16FromBuffer pMultiCharBuffer eCharType (&iLen) to PointerVariable |
Utf16FromBuffer creates a UTF-16 string in a memory buffer from an OEM, ANSI or UTF-8 memory buffer.
You are responsible for eventually disposing of the newly created memory buffer.
Use Windows.pkg Use cCharTranslate.pkg Object oCharTranslate is a cCharTranslate End_Object // test Utf16FromBuffer and Utf16ToBuffer Procedure TestUTF16Buffer Address aVar aUTF16Buffer aVar2 Integer iLen iVoid String sVar sVar2 Move "Test String-Ññóí" to sVar Move (AddressOf(sVar)) to aVar // Move OEM to UTF16 buffer Get Utf16FromBuffer of oCharTranslate aVar CP_OEMCP (&iLen) to aUTF16Buffer // Move UTF16 Buffer to OEM String Get Utf16ToBuffer of oCharTranslate aUTF16Buffer CP_OEMCP iLen to aVar2 // Note length of OEM buffer is CStringLength(aVar2) Move aVar2 to sVar2 If (sVar<>sVar2) Begin Send Info_Box "Test Failed" End Move (Free(aUTF16Buffer)) to iVoid Move (Free(aVar2)) to iVoid End_Procedure Send TestUTF16BufferSee Also