what str que mid library hace does cpp c_str c++ string utf-8

c++ - que - ¿Qué codificación utiliza std:: string.c_str()?



string library c++ (2)

Estoy tratando de convertir una std::string C ++ std::string a UTF-8 o std::wstring sin perder información (considere una cadena que contiene caracteres no ASCII).

De acuerdo con http://forums.sun.com/thread.jspa?threadID=486770&forumID=31 :

Si std :: string tiene caracteres que no son ASCII, debe proporcionar una función que convierta de su codificación a UTF-8 [...]

¿Qué codificación std::string.c_str() ? ¿Cómo puedo convertirlo a UTF-8 o std::wstring de manera multiplataforma?


std::string contiene cualquier secuencia de bytes, por lo que la codificación depende de usted. Debes saber cómo está codificado. Sin embargo, si no sabe que es otra cosa, probablemente solo sea ASCII. En cuyo caso, ya es compatible con UTF-8.


std::string per se no utiliza codificación, devolverá los bytes que ingrese. Por ejemplo, esos bytes pueden estar usando la codificación ISO-8859-1 ... o cualquier otra, en realidad: la información sobre la codificación simplemente no está allí. ¡Usted debe saber de dónde provienen los bytes!