Soy un poco nuevo en el uso de Unicode cadena y punteros y no tengo idea de cómo funciona la conversión a unicode en ascii y versa-versa. Lo que sigue es lo que estoy tratando de hacer,Conversión de cadenas Unicode y viceversa
const wchar_t *p = L"This is a string";
Si quería convertirlo en char*
, ¿cómo sería el trabajo de conversión con la conversión de wchar_t*
a char*
y viceversa?
o por valor utilizando wstring
a string
objeto de clase y viceversa
std::wstring wstr = L"This is a string";
Si estoy en lo cierto, puede que acaba de copiar la cadena a un nuevo buffer sin conversión?
Tenga en cuenta que 'MultiByteToWideChar' tiene un error al convertir la página de códigos 50225 (coreano - ISO-2022-KR) que convierte los caracteres incorrectamente como se indica en https://support.microsoft.com/en-us/kb/960293 - La solución sugerida es usar 'IMultiLanguage :: ConvertStringToUnicode' en su lugar, que convierte los mismos caracteres correctamente; actualice la respuesta para hacer que esto sea más visible. – Coder12345