-
寬字符
鎖定
- 中文名
- 寬字符
- 外文名
- wide character
- 定義標準
- ANSI/ISO 9899-1990
- 定 義
- 用多個字節來代表的字符
- VC++支持
- 7.0版本以上
寬字符定義
寬字符簡稱
在Windows 1.0(1985年11月發佈)中,微軟發佈windows自有的字符集稱為ANSI字符集,因為它是基於ANSI和ISO標準的一個草案,而此草案最終稱為ANSI/ISO 8859-1--1987,這也簡稱為"拉丁語-1"。
在MS-DOS 3.3中把代碼頁的概念介紹給了IBM-PC的用户。這一概念也轉接到Windows操作系統中。代碼頁定義了字符的響應字符碼。原本的IBM字符集被稱為第437頁代碼頁,第850頁是MS-DOS Latin 1.但是代碼頁的數量超乎情理的劇增。
UNICODE字符稱為寬字符(特別是在C編程環境裏),每一個Unicode字符是16位寬而不是8位,C語言用unsigned short表示,可以存放世界上所有書面語言的大多數字符和象形文字,還包括一批數學符號和裝飾標誌的集合。Unicode最棒的一個地方是它只有一個字符集,這就避免了二義性。
Unicode標準4.0中提到
"ANSI/ISO C leaves the semantics of the wide character set to the specific implementation but requires that the characters from the portable C execution set correspond to their wide character equivalents by zero extension."
當今時代,為了應用程序的國際化,應該提倡使用UNICODE來編寫程序!
VC++6.0之前沒有關鍵字wchar_t,用unsigned short表示WCHAR;
VC++7.0之後有了關鍵字wchar_t,用來表示WCHAR,及寬字符;
Unicode 是支持所有字符集(包括無法以單個字節表示的字符集)的規範。為國際市場編程時應考慮使用 Unicode 或多字節字符集 (MBCS),或使程序能夠通過更改開關來生成支持兩種字符集之一的程序。
寬字符是雙字節多語言字符代碼。在當今的全球計算業內使用的大多數字符(包括技術符號和特殊的發佈字符),都可以根據 Unicode 規範表示為寬字符形式。無法以 1 個寬字符表示的字符可以通過 Unicode 的代理項功能以 Unicode 對錶示。由於每個寬字符總是以固定的 16 位大小表示,因此使用寬字符可以簡化使用國際字符集進行的編程。