Pregunta

¿Cómo convertir un std :: string codificado en ASCII extendido a UTF-8 utilizando Microsoft Visual Studio 2005?

Estoy usando tampón de protocolo de Google y se queja de caracteres no utf8 en mi cadena si se lo doy sin conversión, lo cual es cierto ...

¿Fue útil?

Solución

MultiByteToWideChar para convertir su cadena a UTF-16, a continuación, utilizar WideCharToMultiByte para convertirlo en UTF-8.

Otros consejos

Vamos a suponer que misteriosa Exntended ASCII es sólo Latin1. A continuación, utilice la máscara de Wikipedia:

  

110Y yyxx 10xx xxxx

Dado que sólo tiene 00..FF entonces usted tiene:. 1100 00xx 10xx xxxx

algoritmo de conversión será siguiente, si el código de caracter es <127 luego simplemente lo descarga como es, si es> 127 entonces no 0xC0 | ((x & 0xC0) >> 24) va al primer byte, en segundo lugar es ((x & 0x3F) | 0x80)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top