Udostępnij za pośrednictwem


Obsługa formatu Unicode

Unicode to specyfikacja obsługi wszystkich zestawów znaków, łącznie z tymi, których nie można przedstawić w tylko jednego bajtu.Jeśli programowanie na rynek międzynarodowe zalecamy użycie albo Unicode lub zestawów znaków wielobajtowych (MBCSs), lub włączyć program, można je tworzyć bądź zmiana przełącznika.

Szerokie jest kodem 2 znaków Obsługa wielu języków.Większość znaków w nowoczesnych przetwarzania danych na całym świecie, w tym techniczne symbole i znaki specjalne publikacji, można przedstawić zgodnie ze specyfikacją Unicode znaku międzynarodowe.Znaki, których nie można przedstawić w jednego znaku międzynarodowe można przedstawiane w parę Unicode za pomocą funkcji znaków Unicode.Ponieważ każdy znak międzynarodowe jest reprezentowana w o stałym rozmiarze 16 bitów, przy użyciu znaków upraszcza programowania w języku zestawów znaków międzynarodowych.

Ciąg znaków wide jest reprezentowany jako wchar_t [] tablicy i jest wskazywany przez wchar_t* wskaźnik.Dowolnego znaku ASCII może być reprezentowana jako szerokie prefiksu litera na znak.Na przykład L '\0' jest kończącym szerokości (16-bitowe) NULL znaków.Na tej samej zasadzie literału string ASCII może być reprezentowany jako ciąg znaków wide literału prefiksu litera do literału ASCII (L "Cześć").

Ogólnie rzecz biorąc znaki międzynarodowe wykonać więcej miejsca w pamięci niż znaki wielobajtowe, ale szybciej procesu.Ponadto tylko jeden ustawień regionalnych można przedstawić w chwili wielobajtowych kodowanie, znak wszystkich określa na świecie są jednocześnie reprezentowane przez reprezentację Unicode.

Struktura MFC jest włączone Unicode w całym i MFC wykonuje Unicode włączyć za pomocą makra przenośne, jak pokazano w poniższej tabeli.

Przenośne typy danych w MFC

Typ danych innego niż przenośne

Zastępuje to makra

char

_TCHAR

znak *, LPSTR (Win32 typ danych)

LPTSTR

Stała znak *, LPCSTR (Win32 typ danych)

LPCTSTR

Klasa CString korzysta z _TCHAR jako jego elementów bazowych i umożliwia łatwe konwersje konstruktory i operatorów.Większość operacji ciąg standardu Unicode można pisać przy użyciu tej samej logiki używane do obsługi zestawu znaków ANSI systemu Windows, z tą różnicą, że podstawowa jednostka operacji jest znak 16-bitowe zamiast 8-bitowych bajtów.W przeciwieństwie do pracy z zestawów znaków wielobajtowych, nie trzeba (i nie powinien) traktować znaku Unicode, tak jakby był on dwóch odrębnych bajtów.

Co chcesz zrobić?

Zobacz też

Koncepcje

Tekst i ciągi w programie Visual C++

Obsługa używania funkcji wmain