unicode::ucs_2 (3) - Linux Manuals

unicode::ucs_2: unicode character set conversion


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<unicode_char> &text, const std::string &dstcharset);
std::string unicode::iconvert::convert(const std::vector<unicode_char> &text, const std::string &dstcharset, bool &errflag);
bool unicode::iconvert::convert(const std::string &text, const std::string &charset, std::vector<unicode_char> &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.


Sam Varshavchik