Unicode i MBCS
Biblioteka Klas programu Microsoft Foundation (MFC), biblioteka czasu wykonywania języka C dla języka Visual C++i środowisko programistyczne Visual C++ są włączone w celu ułatwienia programowania międzynarodowego. Zapewniają one:
Obsługa standardu Unicode w systemie Windows. Unicode jest bieżącym standardem i należy go używać zawsze, gdy jest to możliwe.
Unicode to kodowanie znaków 16-bitowych, zapewniające wystarczającą liczbę kodowań dla wszystkich języków. Wszystkie znaki ASCII są uwzględniane w formacie Unicode jako znaki rozszerzone.
Obsługa postaci wielobajtowego zestawu znaków (MBCS) nazywanego zestawem znaków dwubajtowych (DBCS) na wszystkich platformach.
Znaki DBCS składają się z 1 lub 2 bajtów. Niektóre zakresy bajtów są odkładane do użycia jako bajty ołowiu. Bajt główny określa, że i następujący bajt końcowy składa się z jednego znaku o szerokości 2 bajtów. Należy śledzić, które bajty są bajtami ołowiu. W określonym zestawie znaków wielobajtowych bajty ołowiu należą do określonego zakresu, podobnie jak bajty końcowe. Gdy te zakresy nakładają się na siebie, może być konieczne obliczenie kontekstu w celu określenia, czy dany bajt działa jako bajt główny, czy bajt końcowy.
Obsługa narzędzi, które upraszczają programowanie MBCS aplikacji napisanych na rynkach międzynarodowych.
Po uruchomieniu w wersji systemu operacyjnego Windows z obsługą MBCS system programowania Visual C++ — w tym zintegrowany edytor kodu źródłowego, debuger i narzędzia wiersza polecenia — jest całkowicie włączony MBCS. Aby uzyskać więcej informacji, zobacz Obsługa MBCS w programie Visual C++.
Uwaga
W tej dokumentacji mbCS służy do opisywania całej obsługi znaków innych niż Unicode dla znaków wielobajtowych. W języku Visual C++, MBCS zawsze oznacza DBCS. Zestawy znaków szersze niż 2 bajty nie są obsługiwane.
Zgodnie z definicją zestaw znaków ASCII jest podzbiorem wszystkich zestawów znaków wielobajtowych. W wielu zestawach znaków wielobajtowych każdy znak w zakresie 0x00 — 0x7F jest identyczny z znakiem, który ma tę samą wartość w zestawie znaków ASCII. Na przykład w ciągach znaków ASCII i MBCS znak 1-bajtowy (\0) ma wartość 0x00 i wskazuje znak null zakończenia.