Özet
Tam genişlikli Unicode sayıları (U + FF10-U + FF19), Widechartoçok baytlı kullanarak standart yarım genişlik numaralarına (U +0030-U + 0039) dönüştürürken, Windows 95 ve 98 üzerinde dönüştürmeyi yapamıyor. Bir tane, tam genişlikli karakterleri yarı genişlikli karakterlere dönüştürmek için bayrak LCMAP_HALFWIDTH ile API LCMapString 'i kullanmalıdır.
Ek Bilgi
Bu API 'nin W sürümü Windows 95 üzerinde çalışmamasından ve Windows 98 1 'in tam genişlikli karakterleri Unicode 'dan uygun bir DBCS dizesine dönüştürmesi ve dönüştürmeyi yapmak için LCMapString 'i araması gerekmektedir. Geleneksel Çince, Basitleştirilmiş Çince, Japonca ve Kore dilindeki tam genişlikli Unicode numaralarıyla çalışan bir örnek:
#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);}
Dönüştürme işleminin Windows 95 ve Windows 98 için çalışması için, dört kod sayfasından birini yükleyin (Geleneksel Çince için 950 936, Basitleştirilmiş Çince için, Japonca ve Kore dili için 932).
Başvurular
Kod sayfası yükleme hakkında daha fazla bilgi için, Microsoft Bilgi Bankası 'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
164948 Kod sayfasını yükleme