Cómo convertir caracteres chinos a Unicode en lenguaje C, preferiblemente directamente a UTF-8. ¿Existe alguna función dentro de vc que se pueda programar directamente? programa
#include
void?GetUtf8(unsigned?short?uni)?
{?
unsigned?char?utf_8[3];?
utf_8[0]=(0xe<<4)?|?((uni?&?0xf000)>>12) ;// ¿Equivalente al binario 1110 desplazado 12 bits a la derecha?
utf_8[1]=(0x2<<6)?|?((uni?&?0x0fc0)>>6);?// ¿Es equivalente a 10 binario desplazado a la derecha 16 bits?
utf_8[2]=(0x2<<6)?|?(uni?&?0x003f);?
printf_8[2]=(0x2<<6? p>
p>
printf("El primer byte de la codificación UTF-8 es 0x%.2x\n",utf_8[0]);?
printf("El primer byte de codificación UTF-8 Un byte es 0x%.2x\n",utf_8[1]);?
printf("El primer byte codificado en UTF-8 es 0x%.2x\n", utf_8[2 ]);?
}?
vacío?
{?
char?a[3]; p>
wchar_t?str;
printf("Ingrese un carácter chino:\n");
gets(a);
MultiByteToWideChar( CP_ACP,? 0,?a,? -1,? &str,?1);
printf("%s",?a);
printf("Palabra codificada en Unicode como %x \n",(unsigned?short)str);?
GetUtf8((unsigned?short)str);
}
.