<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=UTF-32</id>
	<title>UTF-32 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=UTF-32"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=UTF-32&amp;action=history"/>
	<updated>2026-07-08T23:05:42Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=UTF-32&amp;diff=395531&amp;oldid=prev</id>
		<title>imported&gt;Hayashi Shouon：​修正笔误</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=UTF-32&amp;diff=395531&amp;oldid=prev"/>
		<updated>2022-05-29T06:27:28Z</updated>

		<summary type="html">&lt;p&gt;修正笔误&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Expand language|1=en|time=2020-07-28T05:40:54+00:00}}&lt;br /&gt;
{{NoteTA&lt;br /&gt;
&lt;br /&gt;
|G1=IT&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;UTF-32&amp;#039;&amp;#039;&amp;#039;是32位[[Unicode]]转换格式（Unicode Transformation Formats， 或UTF）的缩写。&amp;#039;&amp;#039;&amp;#039;UTF-32&amp;#039;&amp;#039;&amp;#039;是一种用于编码[[Unicode]]的协定，该协定使用32位比特对每个Unicode[[码位]]进行编码（但前导比特数必须为零，故仅能表示2&amp;lt;sup&amp;gt;31&amp;lt;/sup&amp;gt;个Unicode[[码位]]）。与其他可变长度的Unicode转换格式（UTF）相比，UTF-32编码长度是固定的，UTF-32中的每个32位值代表一个Unicode码位，并且与该码位的数值完全一致。&lt;br /&gt;
&lt;br /&gt;
UTF-32的主要优点是可以直接由Unicode码位来索引。在编码序列中查找第N个编码是一个[[常数时间]]操作。相比之下，其他可变长度编码需要进行[[循序存取]]操作才能在编码序列中找到第N个编码。这使得在计算机程序设计中，编码序列中的字符位置可以用一个整数来表示，整数加一即可得到下一个字符的位置，就和ASCII字符串一样简单。&lt;br /&gt;
&lt;br /&gt;
UTF-32的主要缺点是每个码位使用四个字节，空间浪费较多。在大多数文本中，非[[基本多文種平面]]的字符非常罕见，这使得UTF-32所需空间接近[[UTF-16]]的两倍和[[UTF-8]]的四倍（具体取决于文本中ASCII字符的比例）。&lt;br /&gt;
&lt;br /&gt;
尽管每一個碼位使用固定長度的位元組看似方便，但UTF-32並不如其它Unicode編碼使用廣泛。與[[UTF-8]]及[[UTF-16]]相比，UTF-32更容易遭到截斷。即使使用了&amp;quot;定寬&amp;quot;字型，在大多数情况下用UTF-32計算顯示字串的寬度也并不比其他编码更加容易。主要原因是，存在著一個字符位置會有多於一種可能的碼點（[[結合字符]]）或一個碼點用多於一個字符位置（如[[CJK]]表意字符）。結合符號也意味著，文書編輯者不能將一個码位視同一個編輯上的單位。&lt;br /&gt;
&lt;br /&gt;
== 歷史 ==&lt;br /&gt;
原本[[ISO 10646]]標準定義了一個32位元的&amp;#039;&amp;#039;編碼形式&amp;#039;&amp;#039;，稱作&amp;#039;&amp;#039;&amp;#039;UCS-4&amp;#039;&amp;#039;&amp;#039;，[[通用字符集]]（UCS）的每一個字符由0到[[十六進制]]的7FFFFFFF的31位数值表示（符号位未使用且零）。UCS-4足以用來表示所有的Unicode的字碼空間，其最大的碼位為十六進制的7FFFFFFF，所以其空間約20亿個碼位。2003年11月，由于[[UTF-16]]编码形式的限制，RFC 3629标准将Unicode限制为仅支持U+10FFFF以内的[[码位]]（另外U+D800到U+DFFF范围内也被保留使用）&amp;lt;ref&amp;gt;[http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html ISO/IEC 10646:2014] {{Wayback|url=http://standards.iso.org/ittf/PubliclyAvailableStandards/index.html |date=20181026005055 }} Clause 9.4: &amp;quot;Because surrogate code points are not UCS scalar values, UTF-32 code units in the range 0000 D800-0000 DFFF are ill-formed&amp;quot;. Clause 4.57: &amp;quot;[UCS codespace] &amp;lt;!--doubt this is in any source, or then redundant previously: codespace--&amp;gt; consisting of the integers from 0 to 10 FFFF (hexadecimal)&amp;quot;.&amp;lt;!--in an older(?) source like: &amp;quot;uses the UCS codespace which consists of the integers from 0 to 10FFFF.&amp;quot;[ftp://std.dkuug.dk/JTC1/sc2/WG2/docs/n3967.zip/FCD-10646-00-Main.pdf]--&amp;gt; Clause 4.58: &amp;quot;[UCS scalar value] {{Cite web |url=ftp://std.dkuug.dk/JTC1/sc2/WG2/docs/n3967.zip/FCD-10646-00-Main.pdf |title=存档副本 |access-date=2017-04-13 |archive-url=https://web.archive.org/web/20150104042558/ftp://std.dkuug.dk/JTC1/sc2/WG2/docs/n3967.zip/FCD-10646-00-Main.pdf |archive-date=2015-01-04 |dead-url=yes }} any UCS code point except high-surrogate and low-surrogate code points&amp;quot;.&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&amp;amp;item_id=IWS-AppendixA Mapping code points to Unicode encoding forms] {{Wayback|url=http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&amp;amp;item_id=IWS-AppendixA |date=20200809133757 }}, §&amp;amp;nbsp;1: UTF-32&amp;lt;/ref&amp;gt;。虽然在之前的ISO标准（1998年的Unicode 2.1）中0xE00000到0xFFFFFF和0x60000000到0x7FFFFFFF这些区域被分配给“保留私人使用”，但这些区域也在后续版本中被删除。在 ISO/IEC JTC 1/SC 2 WG2申明中规定UCS-4将来所有的字符分配将被限制在Unicode范围内，所以UTF-32和UCS4能表示的字符是相同的。&lt;br /&gt;
&lt;br /&gt;
==註釋==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
&lt;br /&gt;
== 外部連結 ==&lt;br /&gt;
* [http://www.unicode.org/versions/Unicode4.0.0/ch03.pdf （英文）The Unicode Standard 4.1，第三章] {{Wayback|url=http://www.unicode.org/versions/Unicode4.0.0/ch03.pdf |date=20170723155105 }} - 在§3.10, D43-D4中正式定義 UTF-32&lt;br /&gt;
* [http://www.unicode.org/reports/tr19/tr19-9.html （英文）Unicode Standard Annex #19] {{Wayback|url=http://www.unicode.org/reports/tr19/tr19-9.html |date=20210930180112 }} - Unicode 3.x 中正式定義的 UTF-32（2001 年三月；最後更新於 2002 年三月）&lt;br /&gt;
* [https://web.archive.org/web/20050330110411/http://mail.apps.ietf.org/ietf/charsets/msg01095.html （英文）註冊新字集：UTF-32, UTF-32BE, UTF-32LE] - IANA 字符集新增 UTF-32的宣言（2002 年四月）&lt;br /&gt;
&lt;br /&gt;
{{Unicode related}}&lt;br /&gt;
{{Character encoding}} &lt;br /&gt;
&lt;br /&gt;
[[Category:Unicode轉換格式]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Hayashi Shouon</name></author>
	</entry>
</feed>