UTF-32 UTF是位Unicode转换格式Unicode Transformation Formats 或UTF的缩写UTF是一种用于编码Unicode的协定该协定使用位比特对每个Unicode码位进行编码但前导比特数必须为零故仅能表示个Unicode码位与其他可变长度的Unicode转换格式UTF相比UTF编码长度是固定的UTF中的每个位值代表一个Unicode码位并且与该码位的数值完全一致 UTF的主要优点是可以直接由Unicode码位来索引在编码序列中查找第N个编码是一个常数时间操作相比之下其他可变长度编码需要进行循序存取操作才能在编码序列中找到第N个编码这使得在计算机程序设计中编码序列中的字符位置可以用一个整数来表示整数加一即可得到下一个字符的位置就和ASCII字符串一样简单 UTF的主要缺点是每个码位使用四个字节空间浪费较多在大多数文本中非基本多文種平面的字符非常罕见这使得UTF所需空间接近UTF的两倍和UTF的四倍具体取决于文本中ASCII字符的比例 尽管每一個碼位使用固定長度的位元組看似方便但UTF並不如其它Unicode編碼使用廣泛與UTF及UTF相比UTF更容易遭到截斷即使使用了定寬字型在大多数情况下用UTF計算顯示字串的寬度也并不比其他编码更加容易主要原因是存在著一個字符位置會有多於一種可能的碼點結合字符或一個碼點用多於一個字符位置如CJK表意字符結合符號也意味著文書編輯者不能將一個码位視同一個編輯上的單位