这篇博客我们来介绍万国码实际存储编码中的utf-16utf-32

utf-16是什么

  • utf-16是理论编码ucs4的一种实际存储编码
  • 基本单元是2个字节
  • 变长存储,存储BMP时长度是2个字节,存储的不是BMP时长度为4个字节.

utf-16存储ucs4中的BMP

此时uft-16存储ucs4的情况就跟ucs-2存储ucs2的情况一模一样.

utf-16存储大于BMP的ucs4编码

以存储ucs4编码00000000 000010000 11111111 11111111为例

第一步:去掉高位的0

10000 11111111 11111111

第二步:减

将去掉高位0的结果减去0x10000

10000 11111111 11111111
-
1 00000000 00000000
=
1111 11111111 11111111

第三步:填充

将相减的结果按"从低位到高位"的方向填充到110110xx xxxxxxxx 110111xx xxxxxxxx中,填不满的话用补0.

所以最终的编码就是:11011011 11111111 11011111 11111111


utf-32是什么

  • uft-32是理论编码方案ucs4是实际编码方案
  • uft-32有时也被叫作ucs-4
  • 不变长存储,每个编码的长度都是4个字节

不常用

  • 因为uft4只用到了0组17个平面,所以使用不变长存储的utf-32存储的话至少有一个字节是浪费的,非常的不划算.
  • 所以这种存储方案不常使用.

搞清楚字符编码09-万国码[5]相关推荐

  1. 搞清楚字符编码08-万国码[4](utf-8)

    这篇博客介绍万国码中的实际存储编码utf-8 utf-8是什么 utf-8是一种实际存储编码 它即可以存储理论编码ucs2又可以存储理论编码ucs4 变长存储,各个字符编码的长度可能不相同. 它是为了 ...

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

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

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

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

  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. 国产操作系统可以基于BSD开发再闭源吗?
  2. python用方括号提取字符中的数值_python 从字符串中提取数值
  3. javaScript事件(二)事件处理程序
  4. 从TCP协议的原理来谈谈rst复位攻击
  5. python 曲线回归_线性回归——Python代码实现
  6. Linux升级glibc版本汉字乱码,Linux CentOS6升级glibc库过程
  7. jquery templates jQuery html模板
  8. 常用文件格式转换大全: PDF转Word,WORD转PDF转换器,DOCX转DOC转换
  9. OpenCv —— 人脸识别(附完整源码)
  10. 正点原子STM32F429阿波罗板,固件库工程搭建
  11. Ubuntu20.4安装gnuradio艰辛之路
  12. android 使用流量监控,android流量监控
  13. C#实现等差与等比数列求和
  14. shiny-server部署
  15. numpy中takes函数
  16. XMPP与SIP-IM两大协议的对比
  17. Congrats !
  18. [ 习题 ] 句子简化题 细节题 排除题
  19. android棉花糖,Android-6.0 棉花糖权限的那点事
  20. DNS-域名解析协议

热门文章

  1. 走出杀毒误区,让电脑,软件,网络更安全
  2. 有向图的必经点,支配树
  3. AI时代的数据之争与公共领域界定
  4. css实现渐变斜体字
  5. 用Java实现opc通信协议
  6. 南京Uber优步司机奖励政策(2月1日~2月7日)
  7. 【数据库考试】数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和物理设计
  8. “零工经济”权益保障有短板?网约车率先发力了
  9. OCV/ACOV的介绍
  10. 微信跳一跳matlab教学,微信跳一跳所有MATLAB程序及文件