Skip to content

Utf8ToStr - cCharTranslate

Creates an OEM or ANSI string from a UTF-8 memory buffer

Type: Function
Return Data Type: String

Parameters

Parameter Type Description
pWideBuf Pointer The address of a UTF-8 string
eCharType Integer The type of string encoding, which may be OEM (CP_OEMCP), ANSI (CP_ACP) or UTF-8 (CP_UTF8)

Syntax

Function Utf8ToStr Pointer pWideBuf Integer eCharType Returns String

Call Example

Get Utf8ToStr pWideBuf eCharType to StringVariable

Description

Utf8ToStr creates a OEM or ANSI DataFlex string from a UTF-16 memory buffer.

The length of the returned string may be obtained using Length().

You are responsible for eventually disposing of the newly created memory buffer. This may be accomplished by using the Free function.

Use Windows.pkg
Use cCharTranslate.pkg

Object oCharTranslate is a cCharTranslate
End_Object

// test Utf8FromStr and Utf8ToStr
Procedure TestUTF8Str
    Address aUTF8Buffer
    Integer iVoid
    String sVar sVar2

    Move "Test String-Ññóí" to sVar

    // Move OEM to UTF8 buffer
    Get Utf8FromStr of oCharTranslate sVar CP_OEMCP to aUTF8Buffer

    // Move UTF8Buffer to OEM String
    Get Utf8ToBuffer of oCharTranslate aUTF8Buffer CP_OEMCP to sVar2
    If (sVar<>sVar2) Begin
        Send Info_Box "Test Failed"
    End

    Move (Free(aUTF8Buffer)) to iVoid
End_Procedure

Send TestUTF8Str

See Also

UTF8FromBuffer | UTF8ToBuffer | UTF8FromStr | Memory Management Functions

Return Value

The newly created DataFlex string