我试图将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跨平台方式?
Ale*_*lli 44
std::string本身不使用编码 - 它将返回您放入其中的字节.例如,那些字节可能正在使用ISO-8859-1编码...或任何其他,真的:有关编码的信息就不存在 - 你必须知道字节来自哪里!
std::string包含任何字节序列,因此编码取决于您.你必须知道它是如何编码的.但是,如果您不知道它是其他东西,它可能只是ASCII.在这种情况下,它已经兼容UTF-8.