Shrnutí

Při převodu čísel Unicode s plnou šířkou (U + FF10-U + FF19) na standardní čísla s poloviční šířkou (U +0030-U + 0039) při používání WideCharToMultiByte neproběhne převod ve Windows 95 a 98. K převodu znaků s plnou šířkou na znaky s poloviční šířkou by měl LCMapString používat LCMAP_HALFWIDTH příznak API.

Další informace

Vzhledem k tomu, že tato verze rozhraní API W nefunguje ve Windows 95 a Windows 98 1 potřebuje převést znaky s plnou šířkou z Unicode na správné řetězce DBCS a pak převádět voláním LCMapString. Tady je ukázka práce s čísly Unicode s plnou šířkou v tradiční čínštině, zjednodušené čínštině, japonštině a korejštině:

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

Chcete-li provést převod pro Windows 95 a Windows 98, nainstalujte jednu ze čtyř kódových stránek (950 pro tradiční čínštinu, 936 pro zjednodušenou čínštinu, 932 pro japonštinu a 949 pro korejštinu) v systému a explicitně v rozhraních API volejte parametry kód kódové stránky a národního prostředí.

Odkazy

Další informace o instalaci kódové stránky najdete v následujícím článku znalostní báze Microsoft Knowledge Base:

164948 Jak nainstalovat znakovou stránku

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.