图解字符编码

RyuGou · · 1572 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

## 啥叫字符集 计算机只认识0和1 ![](https://user-gold-cdn.xitu.io/2019/4/25/16a50426c8e5de1d?w=800&h=600&f=png&s=19829) 那字符串“abc”咋显示呢? 有个类似于字典的东西,告诉计算机在此种情况(在此编码格式)下,某些数字该显示什么。 ![](https://user-gold-cdn.xitu.io/2019/4/25/16a50426cef8fdb3?w=800&h=600&f=png&s=16329) 这种字典,就是字符集 ![](https://user-gold-cdn.xitu.io/2019/4/25/16a50426cc44cc36?w=800&h=600&f=png&s=21452) ## 现有的字符集 目前主要有以下几种字符集: + ASCII字符集 + ISO 8859-1字符集 + GB2312字符集 + GBK字符集 + Unicode编码 ### ASCII字符集 共收录128个字符,都是些最最基础的字符。详情请看[百度百科](https://baike.baidu.com/item/ASCII/309296?fr=aladdin) *大小:占一个字节* ### ISO 8859-1字符集(别名latin1) *ASCII字符集的扩充*。共收录256个字符。ASCII字符集基础上扩充了128个西欧常用字符(包括德法两国的字母) *大小:占一个字节* ### GB2312字符集 *划重点:made in china*。 百度百科~曰:”共收录6763个汉字,其中一级汉字3755个,二级汉字3008个;同时,GB 2312收录了包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个全角字符。“详情请看[百度百科](https://baike.baidu.com/item/%E4%BF%A1%E6%81%AF%E4%BA%A4%E6%8D%A2%E7%94%A8%E6%B1%89%E5%AD%97%E7%BC%96%E7%A0%81%E5%AD%97%E7%AC%A6%E9%9B%86/8074272?fr=aladdin) 兼容ASCII字符集。 *大小:如果该字符在ASCII字符集中,则采用1字节编码。否则采用2字节编码。* ### GBK字符集 *划重点:made in china*。 继``GB2312字符集``之后中国又出的一套标准。这套更牛逼:不仅完全兼容GB2312字符集。还扩充了很多: ”共23940个码位,共收录了21003个汉字...全部中日韩汉字...“ 总之一个字:牛逼! *大小:如果该字符在ASCII字符集中,则采用1字节编码。否则采用2字节编码。* ### Unicode编码。 牛逼的玩意儿来了。先看看它的中文译名:统一码、万国码、单一码。 收录地球上的所有字符,现在还在不断扩充。 *但是,需要注意的是,Unicode只是一个符号集,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储。* ![](https://user-gold-cdn.xitu.io/2019/4/25/16a50427001ed4e3?w=640&h=480&f=png&s=13082) 其中,Unicode编码规定的符号代码必须以”U+”做前缀。 编号怎么对应到二进制表示呢?有多种方案:主要有 UTF-8,UTF-16,UTF-32。 + UTF-32字符集。将unicode编码的码号直接转成对应的二进制数。*大小:4个字节*。 + UTF-16字符集。使用变长字节表示。*大小:对于编号在 U+0000 到 U+FFFF 的字符(常用字符集),直接用两个字节表示,其余的用4个字节* + UTF-8字符集。使用变长字节表示。兼容ASCII字符集。*大小:1~4个字节* ## 字符集之间的关系 以上都是废话,最重要的就是下面这张图了 ![](https://user-gold-cdn.xitu.io/2019/4/25/16a50426d047ce53?w=640&h=480&f=png&s=30327) 参考文献: + 掘金小册《MySQL 是怎样运行的:从根儿上理解 MySQL》 + https://blog.csdn.net/zhusongziye/article/details/84261211 + https://www.cnblogs.com/kingstarspe/p/ASCII.html ## 更多精彩内容,请关注我的微信公众号 ``互联网技术窝`` 或者加微信共同探讨交流: ![](https://user-gold-cdn.xitu.io/2019/4/25/16a50426c62f321c?w=258&h=258&f=jpeg&s=26784)

有疑问加站长微信联系(非本文作者))

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1572 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传