# Unicode

size_t UnicodeLength(const unsigned char *str)

  Returns length of unicode string.

char *DecodeUnicodeString(const unsigned char *src)

  Converts string to locale charset.

  Returns:

    Pointer to static string.

char *DecodeUnicodeConsole(const unsigned char *src)

  Converts string to console charset.

  Returns:

    Pointer to static string.

void DecodeUnicode(const unsigned char *src, char *dest)

  Converts string from unicode to local charset.

gboolean DecodeUTF8Checked(unsigned char *dest, const char *src, size_t len)

  Decode text from UTF-8 and report malformed input.

  Returns:

    TRUE if the complete input was valid UTF-8, FALSE otherwise.

void EncodeUnicode(unsigned char *dest, const char *src, size_t len)

  Encodes string from local charset to unicode.

gboolean EncodeUnicodeChecked(unsigned char *dest, const char *src, size_t len)

  Encodes string from local charset to unicode and reports conversion errors.

  Invalid input bytes are encoded as Unicode replacement characters and conversion continues, ensuring that the output is not silently truncated.

  Returns:

    TRUE if the complete input was valid in the current locale, FALSE otherwise.

void ReadUnicodeFile(unsigned char *Dest, const unsigned char *Source)

  Decodes unicode file data with byte order mark (BOM).

void CopyUnicodeString(unsigned char *Dest, const unsigned char *Source)

  Copies unicode string.

gboolean EncodeUTF8QuotedPrintable(char *dest, const unsigned char *src)

  Encodes string to UTF-8 quoted printable.

void DecodeUTF8QuotedPrintable(unsigned char *dest, const char *src, size_t len)

  Decodes UTF-8 quoted printable string.

int EncodeWithUTF8Alphabet(unsigned long src, unsigned char *ret)

  Encodes string to UTF-8.

gboolean DecodeHexUnicode(unsigned char *dest, const char *src, size_t len)

  Decodes string from hex quoted unicode.

void EncodeHexUnicode(char *dest, const unsigned char *src, size_t len)

  Encodes string to hex quoted unicode.

gboolean mywstrncmp(const unsigned char *a, const unsigned char *b, int num)

  Compares two unicode strings.

unsigned char *mywstrstr(const unsigned char *haystack, const unsigned char *needle)

  Locates unicode substring.

gboolean mywstrncasecmp(const unsigned char *a, const unsigned char *b, int num)

  Compares two unicode strings case insensitive.

gboolean EncodeUTF8(char *dest, const unsigned char *src)

  Encode text to UTF-8.

void DecodeUTF8(unsigned char *dest, const char *src, size_t len)

  Decode text from UTF-8.

gboolean DecodeHexBin(unsigned char *dest, const unsigned char *src, size_t len)

  Decode hex encoded binary text.