fbpx
维基百科

UTF-32

UTF-32是32位Unicode转换格式(Unicode Transformation Formats, 或UTF)的缩写。UTF-32是一种用于编码Unicode的协定,该协定使用32位比特对每个Unicode码位进行编码(但前导比特数必须为零,故仅能表示231个Unicode码位)。与其他可变长度的Unicode转换格式(UTF)相比,UTF-32编码长度是固定的,UTF-32中的每个32位值代表一个Unicode码位,并且与该码位的数值完全一致。

UTF-32的主要优点是可以直接由Unicode码位来索引。在编码序列中查找第N个编码是一个常数时间操作。相比之下,其他可变长度编码需要进行循序存取操作才能在编码序列中找到第N个编码。这使得在计算机程序设计中,编码序列中的字符位置可以用一个整数来表示,整数加一即可得到下一个字符的位置,就和ASCII字符串一样简单。

UTF-32的主要缺点是每个码位使用四个字节,空间浪费较多。在大多数文本中,非基本多文種平面的字符非常罕见,这使得UTF-32所需空间接近UTF-16的两倍和UTF-8的四倍(具体取决于文本中ASCII字符的比例)。

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

歷史 编辑

原本ISO 10646標準定義了一個32位元的編碼形式,稱作UCS-4通用字符集(UCS)的每一個字符由0到十六進制的7FFFFFFF的31位数值表示(符号位未使用且零)。UCS-4足以用來表示所有的Unicode的字碼空間,其最大的碼位為十六進制的7FFFFFFF,所以其空間約20亿個碼位。2003年11月,由于UTF-16编码形式的限制,RFC 3629标准将Unicode限制为仅支持U+10FFFF以内的码位(另外U+D800到U+DFFF范围内也被保留使用)[1][2]。虽然在之前的ISO标准(1998年的Unicode 2.1)中0xE00000到0xFFFFFF和0x60000000到0x7FFFFFFF这些区域被分配给“保留私人使用”,但这些区域也在后续版本中被删除。在 ISO/IEC JTC 1/SC 2 WG2申明中规定UCS-4将来所有的字符分配将被限制在Unicode范围内,所以UTF-32和UCS4能表示的字符是相同的。

註釋 编辑

  1. ^ ISO/IEC 10646:2014 (页面存档备份,存于互联网档案馆) Clause 9.4: "Because surrogate code points are not UCS scalar values, UTF-32 code units in the range 0000 D800-0000 DFFF are ill-formed". Clause 4.57: "[UCS codespace] consisting of the integers from 0 to 10 FFFF (hexadecimal)". Clause 4.58: "[UCS scalar value] (PDF). [2017-04-13]. (原始内容 (PDF)存档于2015-01-04).  any UCS code point except high-surrogate and low-surrogate code points".
  2. ^ Mapping code points to Unicode encoding forms (页面存档备份,存于互联网档案馆), § 1: UTF-32

外部連結 编辑

  • (英文)The Unicode Standard 4.1,第三章 (页面存档备份,存于互联网档案馆) - 在§3.10, D43-D4中正式定義 UTF-32
  • (英文)Unicode Standard Annex #19 (页面存档备份,存于互联网档案馆) - Unicode 3.x 中正式定義的 UTF-32(2001 年三月;最後更新於 2002 年三月)
  • - IANA 字符集新增 UTF-32的宣言(2002 年四月)

此條目可参照英語維基百科相應條目来扩充, 2020年7月28日, 若您熟悉来源语言和主题, 请协助参考外语维基百科扩充条目, 请勿直接提交机械翻译, 也不要翻译不可靠, 低品质内容, 依版权协议, 译文需在编辑摘要注明来源, 或于讨论页顶部标记, href, template, translated, page, html, title, template, translated, page, translated, page, 标签, 是32位unicode转换格式, unicode, transformatio. 此條目可参照英語維基百科相應條目来扩充 2020年7月28日 若您熟悉来源语言和主题 请协助参考外语维基百科扩充条目 请勿直接提交机械翻译 也不要翻译不可靠 低品质内容 依版权协议 译文需在编辑摘要注明来源 或于讨论页顶部标记 a href Template Translated page html title Template Translated page Translated page a 标签 UTF 32是32位Unicode转换格式 Unicode Transformation Formats 或UTF 的缩写 UTF 32是一种用于编码Unicode的协定 该协定使用32位比特对每个Unicode码位进行编码 但前导比特数必须为零 故仅能表示231个Unicode码位 与其他可变长度的Unicode转换格式 UTF 相比 UTF 32编码长度是固定的 UTF 32中的每个32位值代表一个Unicode码位 并且与该码位的数值完全一致 UTF 32的主要优点是可以直接由Unicode码位来索引 在编码序列中查找第N个编码是一个常数时间操作 相比之下 其他可变长度编码需要进行循序存取操作才能在编码序列中找到第N个编码 这使得在计算机程序设计中 编码序列中的字符位置可以用一个整数来表示 整数加一即可得到下一个字符的位置 就和ASCII字符串一样简单 UTF 32的主要缺点是每个码位使用四个字节 空间浪费较多 在大多数文本中 非基本多文種平面的字符非常罕见 这使得UTF 32所需空间接近UTF 16的两倍和UTF 8的四倍 具体取决于文本中ASCII字符的比例 尽管每一個碼位使用固定長度的位元組看似方便 但UTF 32並不如其它Unicode編碼使用廣泛 與UTF 8及UTF 16相比 UTF 32更容易遭到截斷 即使使用了 定寬 字型 在大多数情况下用UTF 32計算顯示字串的寬度也并不比其他编码更加容易 主要原因是 存在著一個字符位置會有多於一種可能的碼點 結合字符 或一個碼點用多於一個字符位置 如CJK表意字符 結合符號也意味著 文書編輯者不能將一個码位視同一個編輯上的單位 歷史 编辑原本ISO 10646標準定義了一個32位元的編碼形式 稱作UCS 4 通用字符集 UCS 的每一個字符由0到十六進制的7FFFFFFF的31位数值表示 符号位未使用且零 UCS 4足以用來表示所有的Unicode的字碼空間 其最大的碼位為十六進制的7FFFFFFF 所以其空間約20亿個碼位 2003年11月 由于UTF 16编码形式的限制 RFC 3629标准将Unicode限制为仅支持U 10FFFF以内的码位 另外U D800到U DFFF范围内也被保留使用 1 2 虽然在之前的ISO标准 1998年的Unicode 2 1 中0xE00000到0xFFFFFF和0x60000000到0x7FFFFFFF这些区域被分配给 保留私人使用 但这些区域也在后续版本中被删除 在 ISO IEC JTC 1 SC 2 WG2申明中规定UCS 4将来所有的字符分配将被限制在Unicode范围内 所以UTF 32和UCS4能表示的字符是相同的 註釋 编辑 ISO IEC 10646 2014 页面存档备份 存于互联网档案馆 Clause 9 4 Because surrogate code points are not UCS scalar values UTF 32 code units in the range 0000 D800 0000 DFFF are ill formed Clause 4 57 UCS codespace consisting of the integers from 0 to 10 FFFF hexadecimal Clause 4 58 UCS scalar value 存档副本 PDF 2017 04 13 原始内容 PDF 存档于2015 01 04 any UCS code point except high surrogate and low surrogate code points Mapping code points to Unicode encoding forms 页面存档备份 存于互联网档案馆 1 UTF 32外部連結 编辑 英文 The Unicode Standard 4 1 第三章 页面存档备份 存于互联网档案馆 在 3 10 D43 D4中正式定義 UTF 32 英文 Unicode Standard Annex 19 页面存档备份 存于互联网档案馆 Unicode 3 x 中正式定義的 UTF 32 2001 年三月 最後更新於 2002 年三月 英文 註冊新字集 UTF 32 UTF 32BE UTF 32LE IANA 字符集新增 UTF 32的宣言 2002 年四月 取自 https zh wikipedia org w index php title UTF 32 amp oldid 71877828, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。