一次讲清UNICODE
文章目录
- 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相关推荐
- 【三分钟讲清区块链/比特币】之二:比特币入门教程
前言:阅读本文之前,我假设你已经了解了区块链及其相关概念.如果没有,建议先阅读一下本系列的前一篇:[三分钟讲清区块链/比特币]之一:区块链入门教程,然后再阅读本文. 比特币(bitcoin)诞生于20 ...
- 【三分钟讲清区块链/比特币】之一:区块链入门教程
区块链(blockchain)是眼下的大热门,新闻媒体大量报道,宣称它将创造未来.可是,简单易懂的入门文章却很少.区块链到底是什么,有何特别之处,很少有解释. 下面,我就来尝试,写一篇最好懂的区块链教 ...
- 【必备干货】1000字讲清3大财务数据表
众所周知,基础财务数据表有3大:资产负债表.利润表.现金流量表.这3张基本财务数据表的业务含义,以及之间存在的业务关联关系,你是否了解得一清二楚呢?资产负债表最重要的八个字,你知道吗?本文就用1000 ...
- P,NP,PSPACE都是什么,一文讲清计算复杂性分类
P,NP,PSPACE都是什么鬼一文讲清计算复杂性分类 7种计算复杂类的关系 导语 对于计算机来说,哪些问题是容易计算的,哪些是几乎不可能的?这些是计算复杂性领域的核心问题.本文是对这些问题的鸟瞰.( ...
- 一文讲清-NFT市场新秀SudoSwap的AMM机制-创新挑战与局限
NFT交易市场的近期颓势频现,整个市场的流动性大幅降低,而此时8月异军突起的SudoSwap则凭借一超多强的增长数据,让基于AMM机制的交易市场映入大众视野. 基于链上数据分析截至8.20日,已有上千 ...
- 一文讲清土地财政,地方债,转移支付,房产税和中特估
今天主要从地方政府的债务出发,谈一谈央地博弈,土地财政,转移支付以及房产税等内容. 本文干货较多,刚开始读起来会比较晦涩,但是干货满满,看懂了一定会有收获 具体: 一文讲清土地财政,地方债 ...
- 打工人一文讲清软件性能优化
性能优化是指在不影响正确性的前提下,使程序运行得更快,它是一个非常广泛的话题. 优化有时候是为了降低成本,但有时候,性能能决定一个产品的成败,比如游戏服务器的团战玩法需要单服达到一定的同时在线人数才能 ...
- 一文讲清所有字符编码(历史故事背景)
本次字符编码中涉及到了几乎所有常用的编码方式,囊括ASCII,GB2312,GBK,Unicode,UTF(utf-8,utf-16,utf-32). 什么是字符编码,为什么要有字符编码? 因为计算机 ...
- 不用数学也能讲清贝叶斯理论的马尔可夫链蒙特卡洛方法?这篇文章做到了
作者 | Ben Shaver 翻译 | 刘畅 编辑 | Donna 大多数时候,贝叶斯统计在结果在最好的情况下是魔法,在最糟糕时是一种完全主观的废话.在用到贝叶斯方法的理论体系中,马尔可夫链蒙特卡洛 ...
最新文章
- datagrid底部显示水平滚动_DevExpress WPF v19.1:Data Grid/Tree List等控件功能增强
- String.slice和String.substring有什么区别?
- MySQL-基础操作之增删改查
- Docker的容器管理
- 论文笔记:Weighted Graph Cuts without Eigenvectors:A Multilevel Approach
- 个人常用word技巧----平时编辑word能快不少~
- 内地高校招收澳门保送生公布录取结果 882名学生获录取
- 第2章[2.3] 基于Ext JS的MVC/MVVM架构的应用开发模式
- 为什么感觉每年手机都在升级CPU,但始终都会卡顿?
- linux中用shell获取时间,日期
- 子类能不能继承父类的成员变量
- go语言打印日期_基于 Go 语言开发在线论坛(八):消息、视图及日期时间本地化...
- PHP编程中如何做到有效配置Apache
- 水声方位估计 - MUSIC算法
- —— GPS测量原理及应用复习-6 ——
- 编制现金流量表3个步骤!
- 文献检索与论文写作——学习笔记
- VS2022-更换背景壁纸
- 黑群晖vmm专业版_在NAS上运行虚拟机:群晖虚拟化套件VMM正式发布
- Python个人项目2 --------青蛙旅行项目
热门文章
- AI:2020 科大讯飞AI开发者大赛,总奖金池180+万元!拿下比赛,大厂offer到手,那么,你还在等什么?
- DL之CNN:计算机视觉之卷积神经网络经典算法简介、重要进展、改进技巧之详细攻略(建议收藏)
- Docker Toolbox:Docker Toolbox的简介、安装、使用方法之详细攻略
- Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(text.insert/link各种事件)
- You must provide a username via either --os-username or env[OS_USERNAME]
- leetcode-Symmetric Tree 对称树
- [最短路]tvvj1031 热浪
- Linux 下如何安装软件?
- 如何adb shell进入ctia模式
- [PHP]用PHPUnit进行行为驱动开发(Behaviour-Driven Development)