Zusammenfassung

Beim Konvertieren der Unicode-Zahlen mit normaler Breite (u + FF10-u + FF19) in standardmäßige Zahlen mit halber Breite (u +0030-u + 0039) bei Verwendung von WideCharToMultiByte schlägt die Konvertierung unter Windows 95 und 98 fehl. Verwenden Sie die API-LCMapString mit Flag LCMAP_HALFWIDTH, um die Zeichen in voller Breite in Zeichen mit halber Breite umzuwandeln.

Weitere Informationen

Da die W-Version dieser API unter Windows 95 nicht funktioniert, muss Windows 98 1 die Zeichen in voller Breite aus Unicode in geeignete DBCS-Zeichenfolgen konvertieren und dann LCMapString aufrufen, um die Konvertierung durchführen zu können. Im folgenden finden Sie ein Beispiel für die Verwendung von Unicode-Zahlen in normaler Breite in traditionellem Chinesisch, vereinfachtem Chinesisch, Japanisch und Koreanisch:

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

Wenn Sie die Konvertierung für Windows 95 und Windows 98 vornehmen möchten, installieren Sie eine der vier Codepages (950 für traditionelles Chinesisch, 936 für vereinfachtes Chinesisch, 932 für Japanisch und 949 für Koreanisch) auf dem System, und legen Sie die Code Page-und Gebietsschema-ID-Parameter in den obigen API-aufrufen explizit fest.

Informationsquellen

Wenn Sie weitere Informationen zum Installieren einer Codepage wünschen, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:

164948 So installieren Sie eine Codepage

Benötigen Sie weitere Hilfe?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.