我正在尝试将C++中的
std::string
转换为UTF-8或 std::wstring
,而不会丢失信息(考虑包含非ASCII字符的字符串)。根据http://forums.sun.com/thread.jspa?threadID=486770&forumID=31的说法:如果 std::string
包含非ASCII字符,则必须提供一个函数将其从您的编码转换为UTF-8。
那么,std::string.c_str()
使用什么编码?如何以跨平台方式将其转换为UTF-8或 std::wstring
?
string
,那么编码是基于代码页的,默认情况下是与语言/区域设置相关的GB2312
编码。 - Rick