visual c++
支援多位元組字符集 (mbcs)
多位元組字符集 (mbcs) 是一種替代 unicode 以支援無法用單位元組表示的字符集(如日文和中文)的方法。為國際市場程式設計時應考慮使用 unicode 或 mbcs,或使程式能夠通過更改開關來生成支援兩種字符集之一的程式。
最常見的 mbcs 實現是雙位元組字符集 (dbcs)。一般來說,visual c++(尤其是 mfc)完全支援 dbcs。
有關示例,請參見 mfc 源**檔案。
對於語言使用大字符集的市場所使用的平台,代替 unicode 的最佳方法是 mbcs。mfc 通過使用可國際化的資料型別和 c 執行時函式來支援 mbcs。您也應在自己的**中這樣操作。
在mbcs下,字元被編碼為單位元組或雙位元組。在雙位元組字元中,第乙個位元組(即前導位元組)表示它和下乙個位元組將被解釋為乙個字元。第乙個位元組來自留作前導位元組的**範圍。哪個範圍的位元組可以用作前導位元組取決於所使用的**頁。例如,日文**頁 932 使用 0x81 到 0x9f範圍內的位元組作為前導位元組,而朝鮮語**頁 949 則使用其他範圍的位元組。
在 mbcs 程式設計中需考慮下列所有因素。
環境中的 mbcs 字元
mbcs 字元可以出現在檔名和目錄名等字串中。
編輯操作
mbcs 應用程式上的編輯操作應在字元上操作,而非在位元組上操作。插入符號不應拆分字元,向右鍵應向右移動乙個字元等。delete應刪除乙個字元;undo則應將字元重新插入。
字串處理
在使用 mbcs 的應用程式中,字串處理引起特殊問題。兩種寬度的字元混合在乙個字串中;因此必須記住檢查前導位元組。
執行時庫支援
c 執行時庫和 mfc 支援單位元組、mbcs 和 unicode 程式設計。單位元組字串用 str 執行時函式族處理,mbcs 字串用相應的 _mbs 函式處理,而 unicode 字串用相應的 wcs 函式處理。mfc 類成員函式的實現使用可移植執行時函式,這些可移植執行時函式在正常情況下對映到標準 str 函式族、mbcs 函式或 unicode 函式,如「mbcs/unicode 可移植性」中所述。
mbcs/unicode 可移植性
使用 tchar.h 標頭檔案可以用同乙個源生成單位元組的 mbcs 應用程式和 unicode 應用程式。tchar.h 定義以 _tcs 為字首的巨集,這些巨集根據相應的情況對映到 str、_mbs 或 wcs 函式。若要生成 mbcs,請定義_mbcs符號。若要生成 unicode,請定義_unicode符號。預設情況下,為 mfc 應用程式定義的是_mbcs。有關更多資訊,請參見 tchar.h 中的一般文字對映。
如果同時定義了_unicode和_mbcs,則行為不確定。
mbctype.h 和 mbstring.h 標頭檔案定義了 mbcs 特定的函式和巨集,在某些情況下可能需要這些函式和巨集。例如,_ismbblead能告訴您某個字串中的特定位元組是否為前導位元組。
為獲得國際可移植性,使用 unicode 或多位元組字符集 (mbcs) 編碼程式。
多位元組字符集 MBCS
visual c 支援多位元組字符集 mbcs 多位元組字符集 mbcs 是一種替代 unicode 以支援無法用單位元組表示的字符集 如日文和中文 的方法。為國際市場程式設計時應考慮使用 unicode 或 mbcs,或使程式能夠通過更改開關來生成支援兩種字符集之一的程式。最常見的 mbcs 實現...
多位元組字符集 MBCS
visual c 支援多位元組字符集 mbcs 多位元組字符集 mbcs 是一種替代 unicode 以支援無法用單位元組表示的字符集 如日文和中文 的方法。為國際市場程式設計時應考慮使用 unicode 或 mbcs,或使程式能夠通過更改開關來生成支援兩種字符集之一的程式。最常見的 mbcs 實現...
Unicode 和多位元組字符集 MBCS
有些國際市場以大字符集來使用日文和中文等語言。為了支援這些市場的程式設計,microsoft 基礎類庫 mfc 支援以兩種方式處理大字符集 unicode 多位元組字符集 mbcs unicode 字串的 mfc 支援 整個類庫有條件地支援 unicode 字元和字串。特別是 cstring 類也支...