Täieliku laiusega numbrite teisendamine poole laiusega numbriteks

Kokkuvõte

Kui teisendate täieliku laiusega Unicode ' i numbrid (U + FF10-U + FF19) standardi poole laiusega numbriteks (U +0030-U + 0039), siis WideCharToMultiByte kasutamisel ei õnnestu selle teisendamine opsüsteemis Windows 95 ja 98. Kasutada tuleks API LCMapString koos lipu LCMAP_HALFWIDTHga, et teisendada täis-laiuse märgid poole laiusega märkideks.

Lisateave

Kuna selle API W-versioon ei tööta opsüsteemis Windows 95 ja Windows 98 1 peab teisendama täieliku laiusega märgid Unicode ' ist õigetele DBCS-stringidele, ja seejärel helistage teisenduse tegemiseks LCMapString. Siin on näide, mis töötab täieliku laiusega Unicode ' i numbritega traditsioonilises hiina keeles, lihtsustatud Hiina, Jaapani ja Korea keeles.

#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);}

Kui soovite, et teisendus töötaks opsüsteemis Windows 95 ja Windows 98, installige ühe neljast koodileht (950 traditsioonilise hiina keele jaoks, 936 lihtsustatud hiina keele jaoks, Jaapani keele jaoks mõeldud Jaapani ja 932 jaoks) süsteemile ja määrake täpselt ülaltoodud API-kõnede jaoks koodileht ja lokaadi ID parameetrid.

Viited

Lisateavet koodileht installimise kohta leiate Microsofti teabebaasi artikli kuvamiseks järgmisel artiklinumbril:

Lehe koodileht installimine

Kas vajate veel abi?

Täiendage oma oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liitu Microsofti Insideri programmis osalejad

Kas sellest teabest oli abi?

Täname tagasiside eest!

Täname tagasiside eest! Tundub, et võiksime teid kokku viia ühega meie Office'i tugiagentidest, kes aitab teil probleemi lahendada.

×