Come convertire i numeri a larghezza intera in numeri di mezza larghezza

Riepilogo

Quando si converte i numeri Unicode a larghezza intera (U + FF10-U + FF19) in numeri di mezza larghezza standard (U +0030-U + 0039) durante l'uso di WideCharToMultiByte, non riesce a eseguire la conversione in Windows 95 e 98. Uno dovrebbe usare l'API LCMapString con flag LCMAP_HALFWIDTH per convertire i caratteri a larghezza intera in caratteri di mezza larghezza.

Ulteriori informazioni

Poiché la versione W di questa API non funziona in Windows 95 e Windows 98 1 deve convertire i caratteri a larghezza intera da Unicode in stringhe DBCS appropriate e quindi chiamare LCMapString per eseguire la conversione. Ecco un esempio di utilizzo di numeri Unicode a larghezza intera in cinese tradizionale, cinese semplificato, giapponese e 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);}

Per fare in modo che la conversione funzioni per Windows 95 e Windows 98, installare una delle quattro tabelle codici (950 per il cinese tradizionale, 936 per il cinese semplificato, 932 per il giapponese e 949 per il coreano) nel sistema e impostare esplicitamente la tabella codici e i parametri degli ID delle impostazioni locali nelle chiamate API precedenti.

Riferimenti

Per altre informazioni sull'installazione di una tabella codici, fare clic sul numero dell'articolo della Microsoft Knowledge Base seguente per visualizzare l'articolo:

164948 Come installare una tabella codici

Serve aiuto?

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa a Microsoft Insider

Queste informazioni sono risultate utili?

Grazie per il feedback!

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×