UNICODE::ICONVERT::C(3)

NAME
unicode::iconvert::convert, unicode::ucs_4, unicode::ucs_2, unicode::utf_8, unicode::iso_8859_1 - unicode character set conversion

SYNOPSIS

#include <courier-unicode.h>
extern const char unicode::ucs_4[];
extern const char unicode::ucs_2[];
extern const char unicode::utf_8[];
extern const char unicode::iso_8859_1[];

std::string unicode::iconvert::convert(const std::string &text, const std::string &srccharset, const std::string &dstcharset);

std::string unicode::iconvert::convert(const std::string &text, const std::string &srccharset, const std::string &dstcharset, bool &errflag);

std::string unicode::iconvert::convert(const std::vector<char32_t> &text, const std::string &dstcharset);

std::string unicode::iconvert::convert(const std::vector<char32_t> &text, const std::string &dstcharset, bool &errflag);

bool unicode::iconvert::convert(const std::string &text, const std::string &charset, std::vector<char32_t> &text);

DESCRIPTION

The overloaded unicode::convert::convert() functions convert:

    • A text string between two different character sets, returning the new string.

    • A vector of unicode characters (not null-terminated) to a character string in a supported character set.

    • Initialize a vector of unicode characters, passed by reference, by converting a text string in a given character set to unicode.

These functions use iconv(3), and can use any character set that's supported by iconv(3). Use unicode::ucs_2 and unicode::ucs_4 to specify the 16 and the 32 bit unicode octet in native byte order. Use unicode::utf_8 and unicode::iso_8859_1 to specify these two standard character sets. The overloaded versions that pass a reference to a bool set the flag to true if some characters could not be converted. The overloaded version that initializes a unicode vector returns the bool flag, instead.

SEE ALSO

courier-unicode(7), unicode::convert::convert_tocase(3), unicode_convert(3), iconv(3)[1].

AUTHOR

Sam Varshavchik
    Author

NOTES

1.
              iconv(3)
    https://manpages.courier-mta.org/htmlman3/iconv.3.html