这篇博客介绍万国码中的实际存储编码utf-8

utf-8是什么

  • utf-8是一种实际存储编码
  • 它即可以存储理论编码ucs2又可以存储理论编码ucs4
  • 变长存储,各个字符编码的长度可能不相同.
  • 它是为了解决ucs-2中的浪费问题而产生的.

utf-8如何存储ucs2

方案

范围 方案
0&lt;x≤70 &lt; x \leq 70<x≤7 0xxxxxxx
7&lt;x≤117 &lt; x \leq 117<x≤11 110xxxxx 10xxxxxx
11&lt;x≤1611 &lt; x \leq 1611<x≤16 1110xxxx 10xxxxxx 10xxxxxx
16&lt;x≤2116 &lt; x \leq 2116<x≤21 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
21&lt;x≤2621 &lt; x \leq 2621<x≤26 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
26&lt;x≤3126 &lt; x \leq 3126<x≤31 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx

编码步骤

  • 第一步:查找原先的ucs-2编码

    • 例如字的ucs-2编码为01111110 11001111
  • 第二步:以字节为单位去年高位的0
    • 去掉高位的0后,经字的编码变成了1111110 11001111,还剩下15位
  • 第三步:把剩下的位数看作x,根据剩下的位数寻找对应的方案
    • 这里我们应该找到方案1110xxxx 10xxxxxx 10xxxxxx
  • 第四步:按照"从右向左的顺序"将剩下的编码填充到方案的x
    • 这里,要将1111110 11001111填充到1110xxxx 10xxxxxx 10xxxxxx
    • 填充的结果应该是:1110x111 10111011 10001111
  • 第五步:填充后如果还有剩下的x用0填充,得到utf-8编码
    • 1110x111 10111011 10001111中的x用0填充后得到11100111 10111011 10001111
    • 所以汉字的utf-8编码就是11100111 10111011 10001111

utf-8如何存储ucs4

搞清楚字符编码08-万国码[4](utf-8)相关推荐

  1. 搞清楚字符编码07-万国码[3]

    这篇博客介绍万国码中的实际存储编码ucs-2 变长存储与不变长存储 ucs-2是我们介绍的第一种实际存储编码,对实际存储编码我们要先说两个概念:变长存储与不变长存储 变长存储:各个字符编码的长度可能不 ...

  2. 搞清楚字符编码10-万国码[6]

    这篇博客简要介绍一下万国码的BOM信息以及万国码的大小端 实际存储编码总结 在前边的几篇博客中介绍在主要的几种万国码的实际存储编码,在这里简单的总结一下. 实际存储编码 对应的理论编码 是否变长存储 ...

  3. 搞清楚字符编码09-万国码[5]

    这篇博客我们来介绍万国码实际存储编码中的utf-16与utf-32 utf-16是什么 utf-16是理论编码ucs4的一种实际存储编码 基本单元是2个字节 变长存储,存储BMP时长度是2个字节,存储 ...

  4. 搞清楚字符编码05-万国码[1]

    万国码的基本知识点 万国码是由国际标准组织和统一码联盟共同制定的. 万国码有两个版本,第一个版本的最大编码长度是2个字节,第二个版本的最大编码长度是4个字节. 万国码的实现 万国码的实现分为两个层次: ...

  5. 搞清楚字符编码06-万国码[2]

    这篇博客介绍理论编码ucs4 编码范围 ucs4共有4个字节,理论允许的编码范围为 00000000 00000000 00000000 00000000 至 11111111 11111111 11 ...

  6. python day2 python基础 列表、元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码...

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...

  7. php查看字符编码,PHP实现检测当前字符编码并转码的方法

    本文主要和大家分享PHP实现检测当前字符编码并转码的方法,结合文字和代码,希望能帮助到大家. 一.检测当前字符串编码并将编码改为utf-8 1 获取当前字符串的编码 $encode = mb_dete ...

  8. Python之令人心烦意乱的字符编码与转码

    ASC-II码:英文1个字节(8 byte),不支持中文: 高大上的中国,扩展出自己的gbk.gb2312.gb2318等字符编码. 由于各个国家都有自己的编码,于是就需要统一的编码形式用于国际流传, ...

  9. 彻底搞懂 字符 编码 GBK 和 UTF8

    转:彻底搞懂编码GBK和UTF8 彻底搞懂编码 GBK 和 UTF8 常用编码格式一览 首先来看一下常用的编码有哪些,截图自Notepad++.其中ANSI在中国大陆即为GBK(以前是GB2312), ...

最新文章

  1. 获取子页面iframe的点击事件及iframe跨域的交互
  2. 使用 Prometheus 监控 Redis
  3. python 去除字符串的标点符号 用_7步搞定数据清洗-Python数据清洗指南
  4. 每日两SQL(7),欢迎交流~
  5. c语言创建新指针,如何用c语言创建一个指针
  6. 菜鸟linux的sed,Linux sed命令菜鸟入门
  7. 判断两个数组有相同的数据
  8. 【elasticsearch】elasticsearch 生命周期 resourceAlreadyExistsException
  9. [******] 链表问题:将单向链表按某值划分成左边小、中间相等、右边大的形式...
  10. JAVA利用google的zxing快速生成QRCode
  11. FastDfs工作笔记001---Centos下安装FastDfs进行文件存储
  12. 服务器修改动态磁盘,服务器动态磁盘
  13. java递归实现汉字组词穷举_Javascript迭代、递推、穷举、递归常用算法实例讲解...
  14. 请求头User-Agent作用?
  15. Java核心技术 卷(一) 学习记录
  16. Excel 2010 VBA 入门 091 数据处理之利用数据透视表汇总数据
  17. 编写程序计算圆的面积和周长
  18. 每天学一点英文:Espresso 20210811
  19. jQuery 手风琴案例
  20. 低能耗配电开关 USB过流保护芯片USB限流保护SY6280

热门文章

  1. Pareto-Efficient Hybridization for Multi-Objective Recommender Systems
  2. 2022年度 .NET 优质公众号推荐
  3. 未定义标识符 “CV_RGB2GRAY“
  4. 《画解数据结构》(0 - 4)- 逻辑结构
  5. 线路在线监测装置-枪机AI型
  6. 不同域名下的单点登录
  7. 20200203DLUT寒假训练赛div2-简单搜索专场
  8. 52-第三方控件修饰文本输入框
  9. iOS网络缓存扫盲篇 - 使用两行代码就能完成80%的缓存需求
  10. kafka生产者参数配置,灵魂拷问