Scroll to navigation

UNICODE::ICONVERT::C(3) Courier Unicode Library UNICODE::ICONVERT::C(3)


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


#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);


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.


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


Sam Varshavchik





11/25/2020 Courier Unicode Library