“Conocimiento Programación>C /C + + Programming

Cómo convertir C + + ASCII a UTF8

2012/5/9
A partir del momento de la publicación , la norma denominada C + +0 x aún no finalizado, por lo que no hay ninguna forma directa para representar a UTF -8 en C + + . Sin embargo , los sistemas operativos modernos ofrecen funciones que le permiten convertir y representa cadenas en los conjuntos de caracteres Unicode y otros . Use las funciones integradas en Windows 2000 y versiones posteriores para convertir ASCII a UTF8. Instrucciones
1

Abre tu editor de texto y crear un nuevo archivo de código fuente C + + . Coloque las siguientes líneas en él , que incluyen las funciones necesarias para convertir ASCII a UTF - 8 y la salida el resultado en la consola:

# include # include using namespace std ; int main () {char sText [ 13 ] = " Hello World ! " ;
2

Inserte las siguientes líneas de código , que utilizan la función MultiByteToWideChar para determinar el tamaño de la UTF - 16 la representación de la cadena . Utiliza este tamaño para asignar un búfer nuevo que puede contener la versión UTF - 16 de la cadena:

DWORD dwNum = MultiByteToWideChar ( CP_ACP , 0, sText , -1 , NULL, 0 ) ; wchar_t * pwText ; pwText = new wchar_t [ dwNum ] ;
3

Escriba el siguiente texto en el archivo . La función MultiByteToWideChar toma la cadena ASCII y lo convierte en UTF - 16 , el almacenamiento en la memoria intermedia :

MultiByteToWideChar ( CP_ACP , 0, sText , -1, pwText , dwNum ) ;
4

Escriba el siguiente código en el archivo. La función WideCharToMultiByte le indica el tamaño de la cadena devuelta por lo que puede crear un búfer para la representación UTF-8 :

dwNum = WideCharToMultiByte ( CP_UTF8 , 0, pwText , -1 , NULL, 0 , NULL , NULL ) ; char * psText ; psText = new char [ dwNum ] ;
5

Añada el siguiente código, que convierte la cadena UTF - 16 a UTF - 8 , almacenar el resultado en el buffer que acaba de crear :

WideCharToMultiByte ( CP_UTF8 , 0, pwText , -1, psText , dwNum , NULL , NULL ) ;
6

Añada las siguientes líneas para mostrar la UTF - 8 y terminar la función principal : cout << psText ;}

C /C + + Programming
Cómo cambiar mi contraseña SYSDBA
¿Cuál es el proceso de asignar la memoria principal a los programas y mantenerse separados de los demás llamados?
Cómo compilar C Fuente Con Visual C
Cómo programar cacao en un iPhone
¿Puedes explicar la diferencia entre punteros y variables en los lenguajes de programación?
Cómo utilizar la función Memset en C + +
En el esquema de carga absoluta, ¿qué función del cargador realiza el programador?
Cómo escribir un programa para calcular el interés compuesto
Conocimiento de la computadora © http://www.ordenador.online