共用方式為


Unicode 和多位元組字元集 (MBCS) 的支援

某些語言,例如,例如日文和中文,具有擴充字元集。 若要支援程式設計這些市場的, Microsoft Foundation Class 程式庫 (MFC) 為處理大型字元集的兩種不同方法啟用:

  • Unicode

  • 多位元組字元集 (MBCS)

MFC 支援 Unicode 字串

整個類別庫為 Unicode 字元和字串有條件地啟用。 特別的是,類別 CString 支援 Unicode。

UAFXCW.LIB

UAFXCW.PDB

UAFXCWD.PDB

MFCxxU.LIB

MFCxxU.PDB

MFCxxU.DLL

MFCxxUD.LIB

MFCxxUD.PDB

MFCxxUD.DLL

MFCSxxU.LIB

MFCSxxU.PDB

MFCSxxUD.LIB

MFCSxxUD.PDB

MFCMxxU.LIB

MFCMxxU.PDB

MFCMxxU.DLL

MFCMxxUD.LIB

MFCMxxUD.PDB

MFCMxxUD.DLL

(xx 代表檔案的版本號碼,例如, 「80 "表示 8.0 版)。

CString 根據 TCHAR 資料型別。 如果符號是為您的程式 _UNICODE 組建定義, TCHAR 定義為型別 wchar_t, 16 位元字元編碼類型。 否則, TCHAR 定義為 char,正常的 8 位元字元編碼方式。 因此,在 Unicode 之下, CString 由 16 位元字元所組成。 沒有 Unicode,它是由型別所組成 char字元。

若要完成 Unicode 程式設計應用程式,您也必須:

  • 使用 _T 巨集條件式程式碼常值字串被帶到 Unicode。

  • 當您傳遞字串, "付款"監看函式引數是否會以位元組為在字元長度或長度。 如果使用 Unicode 字串,這項差異是很重要的。

  • 使用 C 執行階段字串處理函式的可移植的版本。

  • 為字元和字元指標使用下列資料型別:

    • 您可以使用TCHARchar的位置。

    • 您可以使用LPTSTRchar*的位置。

    • 您可以使用LPCTSTRconst char*的位置。 CString 提供運算子 LPCTSTR 重新命名 CStringLPCTSTR之間轉換。

CString 也提供 Unicode 感知的建構函式、指派運算子和比較運算子。

如需程式設計的 Unicode 的相關資訊,請參閱 Unicode 主題執行階段程式庫參考 定義它的所有字串處理函式的可移植的版本。 請參閱類別 國際化

MFC 支援 MBCS 字串

類別庫也只啟用多位元組字元集,但是,為雙位元組字元集 (DBCS) (DBCS)。

在多位元組字元集,寬字元可以是兩個位元組。 如果寬度是兩個位元組,它的第一個位元組與特定範圍已選取,字碼頁正在使用中的特殊「前導位元組」。 組長一起,而「Trail Byte」指定唯一的字元編碼方式。

如果符號 _MBCS 用於您的程式中定義中,型別 TCHAR組建, CString ,對應至 char。 它是由決定在 CString 哪些位元組是前導位元組,而且您要決定是前導位元組。 說明您的 C 執行階段程式庫提供可以進行判斷。

在下,特定 DBCS 字串可以包含任何單位元組 ANSI 字元、所有雙位元組字元或結合兩者。 下列可能需要在剖析字串的特殊處理。 這包括 CString 物件。

注意事項注意事項

MFC 中的 Unicode 字串序列化可以讀取應用程式版本執行的 Unicode 和 MBCS 字串。您的資料檔案是可移植的 Unicode 和在您的程式之間 MBCS 版。

這些呼叫 C 執行階段函式的CString 成員函式會使用特殊的泛型「文字」版本,或已使用 Unicode 感知的函式。 因此,例如,,如果 CString 函式通常會呼叫 strcmp,它會呼叫對應的泛用文字函式 _tcscmp 。 根據符號 _MBCS 和 _UNICODE 何種定義, _tcscmp 對應如下所示:

_MBCS 定義

_mbscmp

_UNICODE 定義

wcscmp

這些符號未定義

strcmp

注意事項注意事項

符號 _MBCS 和 _UNICODE 互斥 (Mutually Exclusive)。

泛用文字對應函式的所有執行階段字串處理常式在 C 執行階段程式庫參考討論。 尤其,請參閱 國際化

同樣地,您可以使用「泛型」資料型別對應, CString 方法實作。 若要啟用 MBCS 和 Unicode, MFC 會使用 charchar*的 TCHAR , const char*的 LPTSTRLPCTSTR 。 這些保證 Unicode 或 MBCS 的正確對應。

請參閱

參考

字串操作 (CRT)

其他資源

字串 (來源)