计算机编码知识,ASCII编码,GBK,Unicode,UTF-8编码详细介绍
文章目录
- 1. 编码的作用
- 1. 方便和统一管理
- 2. 常用的编码方式
- 1. ASCII编码,英文存储到计算机里面
- 2. GB2312编码和GBK编码,将中文存储到计算机
- 3. Unicode字符集,将全世界的文字存储到计算机
- 3. UTF-8 和 Unicode 的关系
- 1. utf-8编码
- 4. 计算机里面怎么使用编码
Unicode字符集,将全世界的文字存储到计算机
1. 编码的作用
文字或者数据存储在计算机内是二进制的方式。
但是同样一个文字或者字符 存储的二进制数值是多少,就能编码有关。
比如 甲 把 字符 A 存在电脑里 是 001
但是 乙把 字符 A 存在电脑里 是 011
这样就带来一个问题,同样是 字符A,每个人都按照自己的心情来决定 对应的二进制编码。
1. 方便和统一管理
所以为了方便和统一管理,这个时候就有一套规范,大家都遵守,比如这套规范定义 字符A 是以 111
存放在电脑里,而且是唯一的一个编号。
2. 常用的编码方式
1. ASCII编码,英文存储到计算机里面
ASCII编码表
上面的表格摘抄了一部分的 ASCII 编码。
例如 字母 D
大家都在电脑里 存储为 68, 而反过来,如果使用 ASCII 编码,发现68,也意味着这是 字母 D
2. GB2312编码和GBK编码,将中文存储到计算机
上面的ASCII 只是解决了英文怎么存储的问题,但是中文 怎么存储到计算机里面去的,也需要一套规范。
这个时候,就出现了 GBK2312, GBK, GBK18030编码。
比如汉字 的 中
他的 GBK编码就是 D6D0, 同样 在计算机当中如果发现 D6D0, 且使用的是 GBK编码,则会转换成汉字 中
3. Unicode字符集,将全世界的文字存储到计算机
各个国家的编码方式都有自己国家的标准,一旦出了国,就需要各种转换,这个感觉有点像中国人说中文,英国人说英语一样,有没有可能大家都说同一门语言呢?
编码也是一样的,为什么不能有一套标准规范,大家都遵守呢?
就在这种呼吁下,Unicode 诞生了。Unicode 也称为统一码、万国码;看名字就知道,Unicode 希望统一所有国家的字符编码。
例如上面 的汉字 中
的 Unicode 编码 是 4E2D
3. UTF-8 和 Unicode 的关系
这里UTF-8 和 Unicode 经常会被搞混, Unicode相当于是一套规范,规定每一个 字符汉字,对应的 编码是多少。
严格来说,字符集和字符编码不是一个概念:
- 字符集定义了字符和二进制的对应关系,为每个字符分配了唯一的编号。可以将字符集理解成一个很大的表格,它列出了所有字符和二进制的对应关系,计算机显示文字或者存储文字,就是一个查表的过程。
- 而字符编码规定了如何将字符的编号存储到计算机中。如果使用了类似 GB2312 和 GBK 的变长存储方案(不同的字符占用的字节数不一样),那么为了区分一个字符到底使用了几个字节,就不能将字符的编号直接存储到计算机中,字符编号在存储之前必须要经过转换,在读取时还要再逆向转换一次,这套转换方案就叫做字符编码
例如 汉字 中
的 Unicode 编码 是 4E2D
但是 问题是 4E2D
怎么存储到 计算机里面,它的 二进制是 0100 1110 0010 1101
, UTF-8 就是一套方案, 在计算机里面怎么存储 这个二进制?
1. utf-8编码
- UTF-8
UTF-8 的编码规则很简单:
- 如果只有一个字节,那么最高的比特位为 0,这样可以兼容 ASCII;
- 如果有多个字节,那么第一个字节从最高位开始,连续有几个比特位的值为 1,就使用几个字节编码,剩下的字节均以 10 开头。
具体的表现形式为:
- 0xxxxxxx:单字节编码形式,这和 ASCII 编码完全一样,因此 UTF-8 是兼容 ASCII 的;
- 110xxxxx 10xxxxxx:双字节编码形式(第一个字节有两个连续的 1);
- 1110xxxx 10xxxxxx 10xxxxxx:三字节编码形式(第一个字节有三个连续的 1);
- 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx:四字节编码形式(第一个字节有四个连续的 1)。
xxx 就用来存储 Unicode 中的字符编号。
例如 汉字 中
的 Unicode 编码 是 4E2D
二进制是 0100 1110 0010 1101
, 则使用 utf-8 编码的话,16进制 是 e4 b8 ad
在计算机里存储的是 1110 0100 1011 1000 1010 1101
, 也就是 需要三个字节存储
0100 11 1000 10 1101
刚好是 Unicode 的编码
下面是一些字符的 UTF-8 编码实例(绿色部分表示本来的 Unicode 编号):
4. 计算机里面怎么使用编码
在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件
浏览网页的时候,服务器会把动态生成的Unicode内容转换为UTF-8再传输到浏览器:
所以你看到很多网页的源码上会有类似<meta charset="UTF-8" />
的信息,表示该网页正是用的UTF-8编码。
计算机编码知识,ASCII编码,GBK,Unicode,UTF-8编码详细介绍相关推荐
- 计算机数据传输和信号传输,职称计算机基础知识第1章:数据传输的编码和调制技术...
数据通信的技术基础 在数据通信中,要将数据从一个节点传送到另一个节点,必须将数据转换为信号 数据通信的编码技术 数字数据的编码方式有三种,不归零编码.曼彻斯特编码和差分曼彻斯特编码 1.不归零编码 N ...
- php怎么给超链接设置样式,HTML基础知识,关于超链接设置的样式的详细介绍
这次给大家带来HTML基础知识,关于超链接设置的样式的详细介绍,设置HTML的超链接样式的注意事项有哪些,下面就是实战案例,一起来看一下. ***设置超链接的样式示例 a:link 超链接被点前状态 ...
- 四、字符编码:ascii、gbk、Unicode、utf-8
编码和解码: 编码(encode)和解码(decode):计算机中储存的信息都是用二进制数表示的:而我们在屏幕上看到的英文.汉字等字符是二进制数转换之后的结果.通俗的说,按照何种规则将字符存储在计算机 ...
- 深入理解-字符编码ASCII,GB2312,GBK,Unicode,UTF-8
字符编码 简介 起初再考虑写不写这篇文章,感觉这篇文章比较枯燥乏味,而且自己感觉也没理解的太透彻,就把理解的记录下来,所以这是纪念版的 前方高能,非战斗人员请迅速撤离,我要开始装逼了. Go hard ...
- 字符集与字符编码(ASCII、GBK、UNICODE)
0 总结 需要注意字符集和字符编码是不同的.比如当我们提到"数据库使用的是unicode字符集",这样的说法是错误的,数据库中的数据一定要具体到某一种字符编码,只提到字符集是没有意 ...
- 常见的字符编码(ASCII码,unicode,utf-8,gbk)
常见单位换算 bit 位 计算机的最小表示单位(0,1) bytes 字节 计算机最小的存储单位,缩写B 1 B = 8 bit 1 KB = 1024 B 1 MB = 1024 KB 1 GB = ...
- 常用字符集(ASCII,ISO8859-1,GB2312,GBK,Unicode)和字符编码(UTF-8,UTF-16)
转自:https://blog.csdn.net/wn084/article/details/80363792 参考:https://blog.csdn.net/halchan/article/det ...
- 字符的编码方式 ASCII 、GBK 、UTF-8 、Unicode 、Unicode big endian
字符的编码方式很多种 ,我们常用到的是ASCII .GBK .UTF-8 .Unicode .Unicode big endian等. 想查看的话,可以用记事本新建一个txt文档,里面输入字符或汉字, ...
- ASCII, GB2312, GBK, Unicode, UTF8之间的区别和联系
原文链接:https://zhuanlan.zhihu.com/p/258345888 感谢原作者的分享~本博客仅仅是为了做笔记 计算机是美国人发明的, 早期在处理文字方面, 美国人很自然地只考虑处理 ...
- c语言ascii码字符集共有多少个编码,标准ascii码字符集共有多少个编码
ascii码(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统.它主要用于显示现代英语,而其 ...
最新文章
- JavaFX UI控件教程(十一)之Scroll Pane
- Spring Cloud –基本设置
- 非vue子页面 调用vue父页面方法
- 二元函数洛必达求极限_洛必达法则的几个例子
- python函数和方法概念_python基础学习——函数和方法的区别与联系
- stackedit:浏览器内的Markdowm编辑器(资源篇)
- 【Python】Python第三方库安装
- 基于深度学习的驾驶行为预测方法
- Learning Shape Priors for Single-View 3D Completion and Reconstruction
- chrome里面模拟手机上打开网页的场景方法
- Android 屏幕适配:最全面的解决方案
- K3后台修改销售模块(销售订单、发货通知单、销售出库单)单价及金额语句
- OpenCV老版本下载方法
- 【工业互联网】工业发展的痛点体现在哪里?如何整合边缘计算与云计算的优势来成就工业智能?
- python 面向对象编程;(搬家具)
- 解决hive报错FAILED: SemanticException Cartesian products are disabled for safety的问题
- 解读APP新一代验证登录方式——一键登录/免密认证
- 短域名服务设计与实现
- Flink on yarn集群HA配置
- echarts地图中显示数字或省份
热门文章
- qtabwidget右键菜单_Qt5 添加右键菜单简单测试
- 在候选人同意之前不要浪费时间写 offer
- Derivative Filter(导数过滤器)
- 浅谈essay、paper和dissertation的区别
- 消费者行为学的典型营销案例
- 全球计算机病毒损失报告,世界十大计算机病毒 CIH的危险被公认,第二经济损失26亿美元...
- 洛谷 P1359 租用游艇(Floyd, Dijkstra,SPFA)
- linux mantis安装包,Linux下安装mantis
- 百度搜索引擎关键字URL采集爬虫优化行业定投方案高效获得行业流量-代码篇
- 移动硬盘无法退出终极解决方法