NWUSUnicodeToUntermByte

Converts a NULL-terminated Unicode string into an unterminated byte string

Local Servers:nonblocking
Remote Servers:N/A
NetWare Server:4.x, 5.x, 6.x
Platform:NLM, Windows NT, Windows95, Windows 98
Library:Cross-Platform Localization (LOC*.*)
Service:Unicode

Syntax

   #include <nunicode.h> 
    
   N_EXTERN_LIBRARY(nint) NWUSUnicodeToUntermByte  ( 
      pnuint8                byteOutput,  
      nuint                  outputBufferLen,  
      const unicode N_FAR   *unicodeInput,  
      pnuint                 actualLength);
   

Pascal Syntax

   uses netwin32 
    
   Function NWUSUnicodeToUntermByte 
     (byteOutput : pnuint8;
     outputBufferLen : nuint;
     unicodeInput : const unicode;
     actualLength : pnuint              
   ): nint;
   

Parameters

byteOutput
(OUT) Points to the output buffer to receive the resulting unterminated byte string (optional).
outputBufferLen
(IN) Specifies the maximum size of the output buffer in bytes.
unicodeInput
(IN) Points to the input buffer containing the Unicode string to be converted.
actualLength
(OUT) Points to the returned length (in bytes) of the converted string (optional). Does not include the NULL terminator.

Return Values

0x0000

SUCCESSFUL

0xFDEE

NWU_BUFFER_FULL

0xFDE0

NWU_NO_CONVERTER

Remarks

The NWU_BUFFER_FULL error can occur because the output buffer has been allocated with insufficient space. Because of the default conversion behavior described above, byte strings can be as much as six times longer than the number of characters in the input string (or three times longer than the number of bytes in the input string).

NWUSUnicodeToUntermByte converts an unmappable Unicode character into a special unterminated 6-byte sequence. For example, 0x2620 is converted to "[2620]".

NWUSUnicodeToUntermByte does not recognize any special Unicode sequences for conversion. For example, the Unicode string "ab[81]cd" will be returned as the byte string "ab[81]cd".

Call NWUSUnicodeToUntermByte to determine the size of the string before it is converted by setting the byteOutput 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 esuniub.c for sample code.

See Also

NWUSLenByteToUnicode, NWUSUnicodeToUntermBytePath