Resumen

Al convertir los números Unicode de ancho completo (U + FF10-U + FF19) en números de medio ancho estándar (U +0030-u + 0039) al utilizar WideCharToMultiByte, no se realiza la conversión en Windows 95 y 98. Una debe usar la API LCMapString con Flag LCMAP_HALFWIDTH para convertir los caracteres de ancho completo en caracteres de ancho medio.

Más información

Puesto que la versión W de esta API no funciona en Windows 95 y Windows 98 1 necesita convertir los caracteres de ancho completo de Unicode en cadenas DBCS correctas y, a continuación, llamar a LCMapString para realizar la conversión. Este es un ejemplo de trabajo con números Unicode de ancho completo en chino tradicional, Chino simplificado, Japonés y Coreano:

#include <stdio.h>#include <tchar.h>#include <windows.h>void main(void){WCHAR T[2] = {65301, 0};TCHAR dbcs[3], conv[3];WideCharToMultiByte(CP_ACP, 0, T, -1, dbcs, sizeof(dbcs), NULL, NULL);int nRes = LCMapString(LOCALE_USER_DEFAULT, LCMAP_HALFWIDTH,                                                       dbcs,sizeof(dbcs),conv,sizeof(conv));printf("%s\n",conv);}

Para que la conversión funcione para Windows 95 y Windows 98, instale una de las cuatro páginas de códigos (950 para chino tradicional, 936 para chino simplificado, 932 para japonés y 949 para Coreano) en el sistema y establezca de forma explícita los parámetros de la página de códigos y del identificador de configuración regional en las llamadas API anteriores.

Referencias

Para obtener más información sobre cómo instalar una página de códigos, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

164948 Cómo instalar una página de códigos

¿Necesita más ayuda?

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Unirse a Microsoft Insider

¿Le ha sido útil esta información?

¿Cómo de satisfecho está con la calidad de la traducción?
¿Qué ha afectado a tu experiencia?

¡Gracias por sus comentarios!

×