我阅读了一些关于C++中字符串和字符编码最佳实践的帖子,但我有点困惑如何找到一种通用且看起来相对简单和正确的方法。我能否请教以下内容是否可行?我倾向于使用UTF-8和UTF-32,并定义类似于:
typedef std::string string8;
typedef std::basic_string<uint32_t> string32;
使用string8类处理UTF-8编码的字符串,而拥有一个单独的类型只是提醒了编码方式。另一种选择是将string8作为std::string的子类,并移除那些不适用于UTF-8的方法。
当需要固定字符大小时,可使用string32类来处理UTF-32编码的字符串。
使用UTF-8 CPP函数utf8::utf8to32()和utf8::utf32to8()转换两种格式,或者使用更简单的包装函数。
std::basic_string
函数适用于 UTF-8? - dalle