Suvestinė

Konvertuojant visą plotį "Unicode" skaičių (U + FF10-U + FF19) į standartinį pusės pločio skaičių (U +0030-U + 0039), o naudojant "WideCharToMultiByte", nepavyksta atlikti konvertavimo "Windows 95" ir "98". Reikia naudoti API LCMapString su vėliavėle LCMAP_HALFWIDTH, jei norite konvertuoti visą plotį į pusės pločio simbolius.

Daugiau informacijos

Kadangi šio API versija neveikia "Windows" 95 ir "Windows" 98 1 turi konvertuoti visos pločio simbolius iš "Unicode" į tinkamas DBCS eilutes, tada paskambinti LCMapString, kad galėtumėte atlikti konvertavimą. Čia yra pavyzdys, dirbantis su "Full-width" Unicode numeriais tradicinėse kinų, supaprastintosios kinų, japonų ir korėjiečių kalbomis:

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

Jei norite, kad "Windows 95" ir "Windows 98" konvertavimas veiktų, įdiekite vieną iš keturių kodų puslapių (950 tradicinei Kinijai, 936 supaprastintosios kinų, 932 Japonijai ir "949" korėjiečių k.) sistemoje ir aiškiai nustatykite kodų puslapio ir lokalės ID parametrus aukščiau esančiame API.

Nuorodos

Daugiau informacijos apie kodų puslapio diegimą rasite spustelėję toliau nurodytą straipsnio numerį ir peržiūrėkite straipsnį "Microsoft" žinių bazėje:

164948 Kaip įdiegti kodų puslapį

Reikia daugiau pagalbos?

Norite daugiau parinkčių?

Sužinokite apie prenumeratos pranašumus, peržiūrėkite mokymo kursus, sužinokite, kaip apsaugoti savo įrenginį ir kt.

Bendruomenės padeda užduoti klausimus ir į juos atsakyti, pateikti atsiliepimų ir išgirsti iš ekspertų, turinčių daug žinių.