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

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

带你读《全景揭秘字符编码》之十:常见字符编码4:UNICODE(7) https://developer.aliyun.com/article/1240880?groupCode=tech_library


10.5、UTF-8


10.5.1概述


Unicode还是UCS最初都是采用多字节定长编码,由于没有兼容现有的 ASCII 标准的文件和软件,新标准很难被推广,于是兼容ASCII版本的UTF-8就诞生了。


UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,是现代字符编码模型中的第三层 CEF 。它可以用一至四个字节对 Unicode 字符集中的所有有效编码点进行编码,属于Unicode标准的一部分,UTF-8 就是为了解决向后兼容 ASCII 码而设计,Unicode 中前 128 个字符(与 ASCII 码一一对应),使用与 ASCII 码相同的二进制值的单个字节进行编码,这使得原来处理 ASCII 字符的软件无须或只须做少部分修改,即可继续使用。因此,它逐渐成为电子邮件、网页及其他存储或发送文字优先采用的编码方式。

—— 维基百科


UTF-8需要兼容ASCII,所以也需要有前缀码来控制,前缀规则如下:

  • 1)如果首字节以 0 开头,则是单字节编码(即单个单字节码元);
  • 2)如果首字节以 110 开头,则是双字节编码(即由两个单字节码元所组成的双码元序列);
  • 3)如果首字节以 1110 开头,则是三字节编码(即由三个单字节码元所组成的三码元序列),以此类推。


理论上UTF-8变长可以超过4个字节,只是Unicode联盟规范上限是10FFFF,所以UTF-8规则设计上也限制了大小。



带你读《全景揭秘字符编码》之十:常见字符编码4:UNICODE(9) https://developer.aliyun.com/article/1240878?groupCode=tech_library

相关文章
|
运维 安全 Linux
实现远程访问Linux堡垒机:通过JumpServer系统进行安全的服务器管理
实现远程访问Linux堡垒机:通过JumpServer系统进行安全的服务器管理
|
9月前
|
运维 监控 安全
从零构建企业数字化基石:ERP部署的技术路径与工具选择
ERP(企业资源计划)系统是企业数字化的核心引擎,整合财务、供应链、生产、人力资源等模块,实现数据互通与业务协同。然而,复杂的部署技术和高昂的运维成本成为主要挑战。本文探讨如何利用服务器管理面板(如Websoft9、宝塔)降低技术门槛,实现ERP系统的快速搭建与管理,帮助企业在有限IT资源下,提升效率并优化流程。通过自动化配置、应用集中管理和安全加固等功能,中小企业可低成本试错并敏捷响应变化,实现业务和技术的共生发展。
243 1
Python编程实战:如何将列表组装成一棵树结构
本文介绍了如何在Python中将列表转换为树结构。首先定义`TreeNode`类表示节点,包含值和子节点列表。然后,通过`list_to_tree`函数递归地将列表转为树。此外,还提供了添加和删除节点的方法。文章旨在帮助读者理解和操作树结构,以解决实际编程问题。
Python编程实战:如何将列表组装成一棵树结构
|
算法 索引
SFNC —— 采集控制(四)(下)
SFNC —— 采集控制(四)
279 2
|
安全 Java
一文教你,synchronized和Lock的区别?
最近有多位粉丝被问到synchronized和Lock,据说还是阿里一面的面试题。在分布式开发中,锁是控制线程的重要方式。Java提供了两种锁机制synchronized 和 Lock。接下来,我给大家分享一下我对synchronized和Lock的理解。
435 0
|
SQL 存储 Oracle
Oracle系列之九:Oracle常用函数
Oracle系列之九:Oracle常用函数
|
存储 机器学习/深度学习 人工智能
先进级!阿里云大数据+AI平台通过信通院数据平台整体解决方案最高等级评测
近日,在中国信通院组织的第十四批“可信大数据”产品能力评测中,阿里云计算有限公司顺利完成了首个数据平台整体解决方案评测,达到最高等级先进级(3级)。该评测依据 《集成化大数据平台能力分级要求》进行,共涉及10个能力域,44个能力项和577项技术要求。全方位覆盖大数据平台的数据存储、数据集成、数据管理与治理、数据开发、数据处理及分析、数据服务、高可用、平台管理、系统运维、数据安全等能力。
2014 0
先进级!阿里云大数据+AI平台通过信通院数据平台整体解决方案最高等级评测
|
JSON 前端开发 Java
【Java项目】SpringBoot实现一个请求同时上传多个文件和类并附上代码实例
【Java项目】SpringBoot实现一个请求同时上传多个文件和类并附上代码实例
1375 0
|
JavaScript 编译器 开发者
TypeScript中的“as”语法是什么?
TypeScript中的“as”语法是什么?
201 0
|
存储
[ACTF新生赛2020]easyre 题解
[ACTF新生赛2020]easyre 题解
1040 0

热门文章

最新文章