Kā pārvērst pilna platuma skaitļus uz pusplatuma skaitļiem

Kopsavilkums

Pārvēršot pilna platuma unikoda skaitļus (U + FF10-U + FF19) uz standarta pusplatuma numuriem (U +0030-U + 0039), vienlaikus izmantojot Funkcijas WideCharToMultiByte kļūme, nav jāveic konvertēšana operētājsistēmā Windows 95 un 98. Lai konvertētu pilna platuma rakstzīmes uz pusplatuma rakstzīmēm, jāizmanto API LCMapString ar karodziņa LCMAP_HALFWIDTH.

Papildinformācija

Tā kā šī API W versija nedarbojas operētājsistēmā Windows 95 un Windows 98 1, ir jāpārvērš pilna platuma rakstzīmes no unikoda uz pareizajām DBCS virknēm, un pēc tam jāmaina LCMapString, lai veiktu konvertēšanu. Šeit ir parauga darbs ar pilna platuma Unicode numuriem tradicionālajā ķīniešu, vienkāršotajā ķīniešu, japāņu un korejiešu valodā.

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

Lai veiktu konvertēšanas darbību operētājsistēmā Windows 95 un Windows 98, instalējiet vienu no četrām kodu lappusēm (950 tradicionālajai ķīniešu valodai, 936 vienkāršotajai ķīniešu valodai, 932 for korejiešu un 949 for Korean) un precīzi iestata kodu lapu un lokalizācijas ID parametrus iepriekš minētajos API.

Atsauces

Lai iegūtu papildinformāciju par koda lapas instalēšanu, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

Kā instalēt koda lapu

Vai nepieciešama papildu palīdzība?

Paplašiniet savas prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Microsoft Insider

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

Paldies par atsauksmēm! Šķiet, ka jums varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta speciālistiem.

×