文章目录

  • UNICODE
  • UTF-16
  • UTF-8
  • 举例
  • 课后补充
  • BOM(Byte Order Mark)

UNICODE

什么是UNICODE?
这是一个编码方案,说白了就是一张包含全世界所有文字的一个编码表,只要这个世界上存在的文字符号,统统给你一个唯一的编码:
Unicode编码范围:0~0x10FFFF,可以容纳100多万个符号

UNICODE的问题:
UNICODE只是一个符号集,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储

UTF-16

UTF-16编码以16位无符号整数为单位,注意是16位为一个单位不表示一个字符只有16位
。这个要看字符的UNICODE编码处于什么范围而定,有可能是2个字节,有可能是4个字节,现在机器上的unicode编码一般指的就是UTF-16

注意:两个字节为1个存储单位。在UTF-16中字符只有2个字节或者4个字节(超过2个字节就变4个字节)

UTF-8

UTF-8:(网络传输节省流量)
Unicode编码(16进制) UTF-8字节流(二进制)
000000-00007F ------> 0xxxxxxx
000080-0007FF ------> 110xxxxx 10xxxxxx
000800-00FFFF ------> 1110xxxx 10xxxxxx 10xxxxxx
010000-10FFFF ------> 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

举例

中国的中字,UTF-16---->4E2D

在UTF-8里面:(中国的中字)

E4                       B8                  AD
1110        0100        1011    1000        1010    1101

因为4E2D对应第三个区间(十六进制),所以往下划分:
000800-00FFFF ------> 1110xxxx 10xxxxxx 10xxxxxx

把前缀都统统去掉后:
1110 (0100)10(11 1000) 10(10 1101)

所以UTF-8有效数据为:
0010 1110 0010 1101

即十六进制 4E2D

课后补充

也就是经常看到的前缀(开头)会出现这种字符FE FF FF FE

(很少见到:)EF BB BF


如何判断文本文件的存储格式?(UTF-16的时候会区分大小端存储,也就是L或者B)

BOM(Byte Order Mark)

UTF-8            ------>      EF  BB  BF
UTF-16LE        ------>      FF  FE
UTF-16BE        ------>      FE  FF

一次讲清UNICODE相关推荐

  1. 【三分钟讲清区块链/比特币】之二:比特币入门教程

    前言:阅读本文之前,我假设你已经了解了区块链及其相关概念.如果没有,建议先阅读一下本系列的前一篇:[三分钟讲清区块链/比特币]之一:区块链入门教程,然后再阅读本文. 比特币(bitcoin)诞生于20 ...

  2. 【三分钟讲清区块链/比特币】之一:区块链入门教程

    区块链(blockchain)是眼下的大热门,新闻媒体大量报道,宣称它将创造未来.可是,简单易懂的入门文章却很少.区块链到底是什么,有何特别之处,很少有解释. 下面,我就来尝试,写一篇最好懂的区块链教 ...

  3. 【必备干货】1000字讲清3大财务数据表

    众所周知,基础财务数据表有3大:资产负债表.利润表.现金流量表.这3张基本财务数据表的业务含义,以及之间存在的业务关联关系,你是否了解得一清二楚呢?资产负债表最重要的八个字,你知道吗?本文就用1000 ...

  4. P,NP,PSPACE都是什么,一文讲清计算复杂性分类

    P,NP,PSPACE都是什么鬼一文讲清计算复杂性分类 7种计算复杂类的关系 导语 对于计算机来说,哪些问题是容易计算的,哪些是几乎不可能的?这些是计算复杂性领域的核心问题.本文是对这些问题的鸟瞰.( ...

  5. 一文讲清-NFT市场新秀SudoSwap的AMM机制-创新挑战与局限

    NFT交易市场的近期颓势频现,整个市场的流动性大幅降低,而此时8月异军突起的SudoSwap则凭借一超多强的增长数据,让基于AMM机制的交易市场映入大众视野. 基于链上数据分析截至8.20日,已有上千 ...

  6. 一文讲清土地财政,地方债,转移支付,房产税和中特估

    今天主要从地方政府的债务出发,谈一谈央地博弈,土地财政,转移支付以及房产税等内容. 本文干货较多,刚开始读起来会比较晦涩,但是干货满满,看懂了一定会有收获 具体: ​​​​​​一文讲清土地财政,地方债 ...

  7. 打工人一文讲清软件性能优化

    性能优化是指在不影响正确性的前提下,使程序运行得更快,它是一个非常广泛的话题. 优化有时候是为了降低成本,但有时候,性能能决定一个产品的成败,比如游戏服务器的团战玩法需要单服达到一定的同时在线人数才能 ...

  8. 一文讲清所有字符编码(历史故事背景)

    本次字符编码中涉及到了几乎所有常用的编码方式,囊括ASCII,GB2312,GBK,Unicode,UTF(utf-8,utf-16,utf-32). 什么是字符编码,为什么要有字符编码? 因为计算机 ...

  9. 不用数学也能讲清贝叶斯理论的马尔可夫链蒙特卡洛方法?这篇文章做到了

    作者 | Ben Shaver 翻译 | 刘畅 编辑 | Donna 大多数时候,贝叶斯统计在结果在最好的情况下是魔法,在最糟糕时是一种完全主观的废话.在用到贝叶斯方法的理论体系中,马尔可夫链蒙特卡洛 ...

最新文章

  1. datagrid底部显示水平滚动_DevExpress WPF v19.1:Data Grid/Tree List等控件功能增强
  2. String.slice和String.substring有什么区别?
  3. MySQL-基础操作之增删改查
  4. Docker的容器管理
  5. 论文笔记:Weighted Graph Cuts without Eigenvectors:A Multilevel Approach
  6. 个人常用word技巧----平时编辑word能快不少~
  7. 内地高校招收澳门保送生公布录取结果 882名学生获录取
  8. 第2章[2.3] 基于Ext JS的MVC/MVVM架构的应用开发模式
  9. 为什么感觉每年手机都在升级CPU,但始终都会卡顿?
  10. linux中用shell获取时间,日期
  11. 子类能不能继承父类的成员变量
  12. go语言打印日期_基于 Go 语言开发在线论坛(八):消息、视图及日期时间本地化...
  13. PHP编程中如何做到有效配置Apache
  14. 水声方位估计 - MUSIC算法
  15. —— GPS测量原理及应用复习-6 ——
  16. 编制现金流量表3个步骤!
  17. 文献检索与论文写作——学习笔记
  18. VS2022-更换背景壁纸
  19. 黑群晖vmm专业版_在NAS上运行虚拟机:群晖虚拟化套件VMM正式发布
  20. Python个人项目2 --------青蛙旅行项目

热门文章

  1. AI:2020 科大讯飞AI开发者大赛,总奖金池180+万元!拿下比赛,大厂offer到手,那么,你还在等什么?
  2. DL之CNN:计算机视觉之卷积神经网络经典算法简介、重要进展、改进技巧之详细攻略(建议收藏)
  3. Docker Toolbox:Docker Toolbox的简介、安装、使用方法之详细攻略
  4. Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(text.insert/link各种事件)
  5. You must provide a username via either --os-username or env[OS_USERNAME]
  6. leetcode-Symmetric Tree 对称树
  7. [最短路]tvvj1031 热浪
  8. Linux 下如何安装软件?
  9. 如何adb shell进入ctia模式
  10. [PHP]用PHPUnit进行行为驱动开发(Behaviour-Driven Development)