NWUXByteToUnicode
Converts a NULL-terminated byte string into a Unicode string
#include <nunicode.h> N_EXTERN_LIBRARY(nint) NWUXByteToUnicode ( pCONVERT byteUniHandle, punicode unicodeOutput, nuint outputBufferLen, const nuint8 N_FAR *byteInput, pnuint actualLength);
uses netwin32 Function NWUXByteToUnicode (byteUniHandle : pCONVERT; unicodeOutput : punicode; outputBufferLen : nuint byteInput : const nuint8; actualLength : pnuint ): nint;
Passing a zero to the outputBufferLen parameter specifies that the size of the output buffer is not checked. It is the responsibility of the caller to assure a sufficient output buffer size.
If NWU_UNMAPPABLE_CHAR is returned, the buffer is not filled past the unmappable character, but is valid up to that character.
By default, NWUXByteToUnicode converts an unmappable byte into the substitute Unicode character.
By default, NWUXByteToUnicode converts a special byte sequence into a Unicode character. For example, "[2620]" is converted to the single Unicode character, 0x2620.
Call NWUXByteToUnicode to determine the size of the string before it is converted by setting the unicodeOutput parameter to NULL. The outputBufferLen parameter will be ignored, a converted string will not be returned, and the length of the string if it were converted will be returned in the actualLength parameter.
See exbuni.c for sample code.