Sdílet prostřednictvím


Podpora pro Unicode

Unicode je specifikace pro podporu všech znakových sad, včetně těch, které nelze vyjádřit pouze jedním bajtem.Pokud programujete pro mezinárodní trh, se doporučuje použít buď ve formátu Unicode nebo více znakových sad (MBCS), nebo povolte váš program, můžete ji vytvořit buď změnou přepínače.

Široký znak je znak vícejazyčné dvoubajtové kód.Většinu znaků používaných v moderním počítačovém světě, včetně technické symbolů a speciálních znaků pro publikování, mohou být zastoupeny podle specifikace kódování Unicode jako široký znak.Znaky, které nelze vyjádřit pouze jeden široký znak představovat v páru Unicode s použitím funkcí náhradního Unicode.Protože každý široký znak je vyjádřena v s pevnou velikostí 16 bitů, pomocí široké znaky zjednodušuje programování s mezinárodních znakových sad.

Řetězec širokého znaku je vyjádřena jako [] wchar_t pole a je na kterou odkazuje wchar_t* ukazatel myši.Libovolný znak ASCII může být reprezentována jako široký znak symbolů písmeno L na znak.L '\0' je například ukončení širokého (16 bitů) NULL znak.Podobně jakékoli ASCII řetězcový literál může být reprezentována širokého znaku řetězcový literál symbolů písmena L do literálu ASCII (L "Ahoj").

Obecně široké znaky trvat více místa v paměti než středník, ale jsou rychlejší ke zpracování.Kromě toho pouze jedno národní prostředí může být reprezentována současně ve více kódování, zatímco všechny znakové sady na světě jsou reprezentována současně vyjádření Unicode.

Knihovna MFC framework je kódování Unicode a knihovna MFC provede povolení Unicode pomocí přenosných makra, jak je znázorněno v následující tabulce.

Přenosné datové typy v knihovně MFC

Bez přenosné datový typ.

Nahrazuje tohoto makra

char

_TCHAR

znak *, LPSTR (Win32 datový typ)

LPTSTR

argument znak *, LPCSTR (Win32 datový typ)

LPCTSTR

Třída CString používá _TCHAR jako základny a poskytuje konstruktory a operátory pro snadné převody.Většina operací s řetězci kódování Unicode lze zapsat pomocí stejné logiky použité pro zpracování znakovou sadu ANSI systému Windows, s tím rozdílem, že základní jednotkou operace je znak 16bitové namísto 8-bit bajtů.Na rozdíl od práce s více znakových sad, můžete nemusíte (a neměli) zacházet se znaky Unicode, jako kdyby nebylo dvě odlišné bajtů.

Co chcete udělat?

Viz také

Koncepty

Text a řetězce v jazyce Visual C++

Podpora použití funkce wmain