fbpx
维基百科

UTF-16的八位元相容編碼方案

UTF-16的八位元相容編碼方案(英語:Compatibility Encoding Scheme for UTF-16: 8-Bit),簡稱 CESU-8 ,是統一碼技术报告 #26 中描述UTF-8的变体[1]

CESU-8 的設計,是為了能在八位元的計算環境中,提供 UTF-16 的定序。因此,報告中也明確指出,只建議用在那些需要 UTF-16 定序,不預期且不建議用於外部數據交換

CESU-8 有以下特點:

  • 基本多语言平面中的字符編碼會與 UTF-8 相同,只有 增補字符會不同。
  • 只有六個字節形式的增符字符是合規的,UTF-8 中的四字節形式是不合規的。
  • 以 CESU-8 編碼後的字節串列以二進位方式定序,會與 UTF-16 編碼過的字節串列以二進位定序,其結果是一樣。


基本多语言平面中的字符碼位(即 U+0000 到 U+FFFF 范围内的碼位),其编码方式与 UTF-8 相同。 增補字符(即 U+10000 到 U+10FFFF 范围内的碼位),則先以同UTF-16的方式轉为代理对,然后以 UTF-8 的方式將代理對中的每個代碼进行编码。因此,对于每个統一碼增補字符,CESU-8 需要六个字节(每个代理项 3 个字节),而 UTF-8 只需要四个字节。虽然技术报告中没有具体说明,但未配对的代理項也會编码成为 3 个字节。非基本多文種平面的字符會被编码成11101101 1010yyyy 10xxxxxx 11101101 1011xxxx 10xxxxxx (yyyy 表示字符的前五位减一)。字节值 0xF0 不会出现在 CESU-8 中,因为它开始了 UTF-8 使用的 4 字节编码。

W3C [2] [3]WHATWG [4] HTML標準禁止在HTML文檔中支援 CESU-8,因为这会導致跨網站脚本漏洞。 [5]

Java 的UTF-8修改版是 CESU-8,並將 NUL 字符 (U+0000) 的特殊超长编码,作为两字节序列C0 80[6]

Oracle 数据库使用 CESU-8 作为其“UTF8”字符集。若要使用標準 UTF-8 ,自 Oracle 9.0 版起,可以使用字符集“AL32UTF8”。


CESU-8 是IANA註冊的字符集[7]


https://www.iana.org/assignments/character-sets/character-sets.xhtml#Toby_Phipps (页面存档备份,存于互联网档案馆

範例 编辑

碼位 U+0045 U+0205 U+10400
字符 E ȅ 𐐀
UTF-8 45 C8 85 F0 90 90 80
UTF-16 0045 0205 D801 DC00
CESU-8 45 C8 85 ED A0 81 ED B0 80

参考 编辑

外部链接 编辑

  • 統一碼技術報告 #26 (页面存档备份,存于互联网档案馆
  • 修改后的 UTF-8 定义 (页面存档备份,存于互联网档案馆
  • 國際統一碼部件的转换器资源管理器中 CESU-8 的图形视图
  1. ^ McGowan, Rick. Unicode Technical Report #26 - Compatibility Encoding Scheme for UTF-16: 8-Bit (CESU-8). Unicode Consortium. [2021-11-17]. (原始内容于2021-12-08). 
  2. ^ 8.2.2.3. Character encodings. HTML 5.1 Standard. W3C. [2021-11-17]. (原始内容于2021-07-18). 
  3. ^ 8.2.2.3. Character encodings. HTML 5 Standard. W3C. [2021-11-17]. (原始内容于2019-07-03). 
  4. ^ 12.2.3.3 Character encodings. HTML Living Standard. WHATWG. [2021-11-17]. (原始内容于2022-01-07). 
  5. ^ <meta> - HTML. MDN Web Docs. Mozilla. [2021-11-17]. (原始内容于2022-01-14). 
  6. ^ Java SE documentation for Interface java.io.DataInput, subsection on Modified UTF-8. Oracle Corporation. 2015 [2021-04-30]. (原始内容于2021-11-03). 
  7. ^ IANA 的 CESU-8 註冊記錄. [2021-11-17]. (原始内容于2020-09-21). 

16的八位元相容編碼方案, 此條目包含過多行話或專業術語, 可能需要簡化或提出進一步解釋, 2021年11月17日, 請在討論頁中發表對於本議題的看法, 並移除或解釋本條目中的行話, 此條目需要精通或熟悉字符编码的编者参与及协助编辑, 2021年11月17日, 請邀請適合的人士改善本条目, 更多的細節與詳情請參见討論頁, 另見其他需要字符编码專家關注的頁面, 英語, compatibility, encoding, scheme, 簡稱, cesu, 是統一碼技术报告, 中描述utf, 8的变体, cesu, 的設. 此條目包含過多行話或專業術語 可能需要簡化或提出進一步解釋 2021年11月17日 請在討論頁中發表對於本議題的看法 並移除或解釋本條目中的行話 此條目需要精通或熟悉字符编码的编者参与及协助编辑 2021年11月17日 請邀請適合的人士改善本条目 更多的細節與詳情請參见討論頁 另見其他需要字符编码專家關注的頁面 UTF 16的八位元相容編碼方案 英語 Compatibility Encoding Scheme for UTF 16 8 Bit 簡稱 CESU 8 是統一碼技术报告 26 中描述UTF 8的变体 1 CESU 8 的設計 是為了能在八位元的計算環境中 提供 UTF 16 的定序 因此 報告中也明確指出 只建議用在那些需要 UTF 16 定序 不預期且不建議用於外部數據交換 CESU 8 有以下特點 基本多语言平面中的字符編碼會與 UTF 8 相同 只有 增補字符會不同 只有六個字節形式的增符字符是合規的 UTF 8 中的四字節形式是不合規的 以 CESU 8 編碼後的字節串列以二進位方式定序 會與 UTF 16 編碼過的字節串列以二進位定序 其結果是一樣 基本多语言平面中的字符碼位 即 U 0000 到 U FFFF 范围内的碼位 其编码方式与 UTF 8 相同 增補字符 即 U 10000 到 U 10FFFF 范围内的碼位 則先以同UTF 16的方式轉为代理对 然后以 UTF 8 的方式將代理對中的每個代碼进行编码 因此 对于每个統一碼增補字符 CESU 8 需要六个字节 每个代理项 3 个字节 而 UTF 8 只需要四个字节 虽然技术报告中没有具体说明 但未配对的代理項也會编码成为 3 个字节 非基本多文種平面的字符會被编码成11101101 1010yyyy 10xxxxxx 11101101 1011xxxx 10xxxxxx yyyy 表示字符的前五位减一 字节值 0xF0 不会出现在 CESU 8 中 因为它开始了 UTF 8 使用的 4 字节编码 W3C 2 3 和WHATWG 4 HTML標準禁止在HTML文檔中支援 CESU 8 因为这会導致跨網站脚本漏洞 5 Java 的UTF 8修改版是 CESU 8 並將 NUL 字符 U 0000 的特殊超长编码 作为两字节序列C0 80 6 Oracle 数据库使用 CESU 8 作为其 UTF8 字符集 若要使用標準 UTF 8 自 Oracle 9 0 版起 可以使用字符集 AL32UTF8 CESU 8 是IANA註冊的字符集 7 https www iana org assignments character sets character sets xhtml Toby Phipps 页面存档备份 存于互联网档案馆 範例 编辑碼位 U 0045 U 0205 U 10400字符 E ȅ 𐐀UTF 8 45 C8 85 F0 90 90 80UTF 16 0045 0205 D801 DC00CESU 8 45 C8 85 ED A0 81 ED B0 80参考 编辑外部链接 编辑統一碼技術報告 26 页面存档备份 存于互联网档案馆 修改后的 UTF 8 定义 页面存档备份 存于互联网档案馆 國際統一碼部件的转换器资源管理器中 CESU 8 的图形视图 McGowan Rick Unicode Technical Report 26 Compatibility Encoding Scheme for UTF 16 8 Bit CESU 8 Unicode Consortium 2021 11 17 原始内容存档于2021 12 08 8 2 2 3 Character encodings HTML 5 1 Standard W3C 2021 11 17 原始内容存档于2021 07 18 8 2 2 3 Character encodings HTML 5 Standard W3C 2021 11 17 原始内容存档于2019 07 03 12 2 3 3 Character encodings HTML Living Standard WHATWG 2021 11 17 原始内容存档于2022 01 07 lt meta gt HTML MDN Web Docs Mozilla 2021 11 17 原始内容存档于2022 01 14 Java SE documentation for Interface java io DataInput subsection on Modified UTF 8 Oracle Corporation 2015 2021 04 30 原始内容存档于2021 11 03 IANA 的 CESU 8 註冊記錄 2021 11 17 原始内容存档于2020 09 21 取自 https zh wikipedia org w index php title UTF 16的八位元相容編碼方案 amp oldid 70154764, 维基百科,wiki,书籍,书籍,图书馆,

文章

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