本页使用了标题或全文手工转换

UTF-32

维基百科,自由的百科全书
跳转至: 导航搜索

UTF-32 (或 UCS-4)是一種將Unicode字符編碼的協定,對每一個Unicode碼位使用恰好32位元。其它的Unicode transformation formats則使用不定長度編碼。

因為UTF-32對每個字符都使用4位元組,就空間而言,是非常沒有效率的。特別地,非基本多文種平面的字符在大部分文件中通常很罕見,以致於它們通常被認為不存在佔用空間大小的討論,使得UTF-32通常會是其它編碼的二到四倍。

雖然每一個碼位使用固定長度的位元組看似方便,它並不如其它Unicode編碼使用得廣泛。與UTF-8UTF-16相比,它有點更容易遭截斷。即使使用了"定寬"字型,除非在一些非常有限的情況下,否則它並不會使得計算顯示一個字串的寬度更加容易。主要原因是,存在著一個字符位置會有多於一種可能的碼點(結合字符)或一個碼點用多於一個字符位置(如CJK表意字符)。結合符號也意味著,文書編輯者不能將一個碼點視同一個編輯上的單位。

歷史[编辑]

原本ISO 10646標準定義了一個32位元的編碼形式,稱作UCS-4,使用通用字符集(UCS)的每一個字符,會在0到十六進制的7FFFFFFF這樣的字碼空間中,被表示成一個的32位元的碼值

UCS-4足以用來表示所有的Unicode的字碼空間,其最大的碼位為十六進制的7FFFFFFF,所以其空間約20亿個碼位。有些人認為保留如此大的字碼空間卻只為了對應這很小的碼集是浪費的所以一個新的編碼UTF-32被提出來了。UTF-32 是一個 UCS-4 的子集,使用32-位元的碼值,只在0到10FFFF的字碼空間(百万個碼位)。

UTF-32 原本是 UCS-4 的子集,但JTC1/SC2/WG2聲明,所有未來對字符的指定都將會限制在BMP及其14個補充平面。

於是就現狀而言,除了 UTF-32 標準包含額外的 Unicode 意涵,UCS-4 和 UTF-32 大體是相同的。

外部鏈結[编辑]