Obsługa zestawów znaków wielobajtowych (MBCSs)

Zestawy znaków wielobajtowych (MBCSs) są alternatywą dla Unicode pomocniczych zestawów znaków, takich jak japoński i chińskich, który nie może być przedstawiona w jednobajtowych.Jeśli programowaniu na międzynarodowym rynku należy wziąć pod uwagę przy użyciu Unicode lub MBCS lub Włączanie programu, można je tworzyć go dla albo zmieniając przełącznik.

Implementacja MBCS to zestawy znaków dwubajtowych (DBCS).Visual C++ w ogólności i MFC, w szczególności, pełni jest włączona dla znaków Dwubajtowych.

Dla próbek Zobacz pliki źródłowe MFC.

W przypadku platform używane na rynkach, na których języki używają dużych zestawów alternatywę do Unicode jest MBCS.MFC obsługuje MBCS przy użyciu typów danych internationalizable i funkcje c run-time.W kodzie należy zrobić to samo.

W obszarze MBCS znaki są zakodowane w 1 lub 2 bajtów.2-Bajtowy znaków, pierwszej, lub bajtu sygnały go i następny bajt są interpretowane jako jeden znak.Pierwszy bajt pochodzi z zakresu kodów zarezerwowane do użytku jako bajtów potencjalnego klienta.Które zakresów bajtów może być bajtów ołowiu zależy od strony kodowej w użyciu.Na przykład japońską stroną kodową 932 używa 0x81 poprzez 0x9F zakres bajtów potencjalnego klienta, ale strona kodowa koreańskich 949 używa innego zakresu.

Należy wziąć pod uwagę wszystkie następujące Twoje MBCS programowania.

  • Znaki MBCS w środowisku
    MBCS znaki mogą występować ciągi znaków, takich jak nazwy plików i katalogów.

  • Operacje edytowania
    Edycja operacji w aplikacjach MBCS powinna działać na znaki, nie bajty.Daszek nie należy podzielić znak, Strzałka w prawo, należy przenieść jeden znak w prawo i tak dalej.Usuwanie należy usunąć znak; Cofnij należy wstawić go ponownie.

  • Obsługa ciąg
    W aplikacji korzystającej z MBCS obsługi ciąg stwarza szczególne problemy.Znaki obu szerokości są mieszane w jeden ciąg znaków; w związku z tym należy pamiętać, aby sprawdzić bajtów potencjalnego klienta.

  • Obsługa Run-time library
    Biblioteka uruchomieniowa c i MFC obsługują jednobajtowe i MBCS Unicode programowania.Ciągi znaków jednobajtowych są przetwarzane z str rodziny funkcji run-time, MBCS ciągi są przetwarzane za pomocą odpowiadającego _mbs funkcji i łańcuchów Unicode są przetwarzane za pomocą odpowiadającego wcs funkcji.MFC klasy Członkowskie funkcji implementacji funkcji przenośne run-time odwzorowujące okolicznościach prawo do normalnych str rodziny funkcje, funkcje MBCS lub funkcje Unicode, jak opisano w "MBCS/Unicode przenośności."

  • Przenośność MBCS/Unicode
    Przy użyciu pliku nagłówka Tchar.h, możesz zbudować jednobajtowe i MBCS Unicode wnioski z tych samych źródeł.TCHAR.h definiuje makra z prefiksem _tcs , którego mapować do str, _mbs, lub wcs funkcje, jak właściwe.Aby zbudować MBCS, zdefiniuj symbol _MBCS.Aby zbudować Unicode, zdefiniuj symbol _UNICODE.Domyślnie _MBCS jest zdefiniowany dla aplikacji MFC.Aby uzyskać więcej informacji, zobacz Mapowań tekst rodzajowy w Tchar.h.

[!UWAGA]

Zachowanie jest niezdefiniowana, jeżeli zarówno zdefiniować _UNICODE i _MBCS.

Pliki nagłówków Mbctype.h i Mbstring.h definiują funkcje specyficzne dla MBCS i makra, które w niektórych przypadkach może być konieczne.Na przykład _ismbblead informuje, czy określonych bajtów w ciągu jest bajtu.

Międzynarodowe przenośności kodu programu z Unicode lub zestawy znaków wielobajtowych (MBCSs).

Co chcesz zrobić?

Zobacz też

Koncepcje

Tekstem i ciągami znaków w języku Visual C++

Obsługa MBCS w Visual C++