首页 | 主题 | 图库 | 问答 | 文摘 | 原创 | 百科

历史 | 地理 | 人物 | 艺术 | 体育 | 科学 | 音乐 | 电影 | 信息技术 | 世界遗产

 开放、中立,源自维基百科

个人工具


寬字元

维库,知识与思想的自由文库

跳转到: 导航, 搜索

寬字元(Wide character) 是程式設計的術語。它是一個含糊的術語,用以表示比 8 位元字元還寬的資料類型。它不同於Unicode

wchar_t 在 ANSI/ISO C中是一個資料類型,且某些其它的程式語言也用它來表示寬字元。

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."

還有

wchar_t 的寬度屬於編譯器的特性,且可以小到 8 位元。所以程式若需要跨過所有 C 和 C++ 編譯器的可攜性,就不應使用 wchar_t 儲存 Unicode 文字。wchar_t 類型是為儲存編譯器定義的寬字元,在部分編譯器中,其可以是 Unicode 字元。」

Windows API 中,wchar_t 是 16 位元寬。Windows API 因不使 wchar_t 字元類型在單一 wchar_t 單元中,支援所有系統可表示的字元,而破壞了 ANSI/ISO C 標準。wchar_t 在 Windows 下,反而表示一個 UTF-16 字元(或 UTF-16 的一部分)。

在類Unix系統中,wchar_t 是 32 位元寬。

ANSI C 程式庫表頭檔中,<wchar.h> 和 <wctype.h> 處理寬字元。

其它语言
AD Links