libidn: toutf8.c File Reference

libidn 1.38

Functions
toutf8.c File Reference
`#include "stringprep.h"`
`#include <stdio.h>`
`#include <stdlib.h>`
`#include <string.h>`
`#include "striconv.h"`
`#include <locale.h>`

Go to the source code of this file.

## Functions
const char * | stringprep_locale_charset (void)
char * | stringprep_convert (const char *str, const char *to_codeset, const char *from_codeset)
char * | stringprep_locale_to_utf8 (const char *str)
char * | stringprep_utf8_to_locale (const char *str)

## Function Documentation

## ◆ stringprep_convert()

char* stringprep_convert | ( | const char * | str,
|  | const char * | to_codeset,
|  | const char * | from_codeset
| ) |  |

stringprep_convert:

Parameters

  str | input zero-terminated string.
  to_codeset | name of destination character set.
  from_codeset | name of origin character set, as used by @str.

Convert the string from one character set to another using the system's iconv() function.

Return value: Returns newly allocated zero-terminated string which is @str transcoded into to_codeset.

Definition at line 116 of file toutf8.c.

## ◆ stringprep_locale_charset()

const char* stringprep_locale_charset | ( | void |  | ) |

stringprep_locale_charset:

Find out current locale charset. The function respect the CHARSET environment variable, but typically uses nl_langinfo(CODESET) when it is supported. It fall back on "ASCII" if CHARSET isn't set and nl_langinfo isn't supported or return anything.

Note that this function return the application's locale's preferred charset (or thread's locale's preferred charset, if your system support thread-specific locales). It does not return what the system may be using. Thus, if you receive data from external sources you cannot in general use this function to guess what charset it is encoded in. Use stringprep_convert from the external representation into the charset returned by this function, to have data in the locale encoding.

Return value: Return the character set used by the current locale. It will never return NULL, but use "ASCII" as a fallback.

Definition at line 85 of file toutf8.c.

## ◆ stringprep_locale_to_utf8()

char* stringprep_locale_to_utf8 | ( | const char * | str | ) |

stringprep_locale_to_utf8:

Parameters

  str | input zero terminated string.

Convert string encoded in the locale's character set into UTF-8 by using stringprep_convert().

Return value: Returns newly allocated zero-terminated string which is @str transcoded into UTF-8.

Definition at line 143 of file toutf8.c.

## ◆ stringprep_utf8_to_locale()

char* stringprep_utf8_to_locale | ( | const char * | str | ) |

stringprep_utf8_to_locale:

Parameters

  str | input zero terminated string.

Convert string encoded in UTF-8 into the locale's character set by using stringprep_convert().

Return value: Returns newly allocated zero-terminated string which is @str transcoded into the locale's character set.

Definition at line 159 of file toutf8.c.