About encoding

About Coding

简述

所有编码都是二进制到真实字符的映射

无论是是ASCII,ISO,GBK,还是unicode

只不过上面这些编码规则中,每一种二进制对应的字符不相同。

UTF-8

UTF-8(Unocde Transformation Format)是一种传输格式,是一种unicode的实现方式。

UTF-8是变长的

UTF-8用前置的1来表示需要的字节数

  • 1 字节 0000 0000 -- 0000 007f (0x80 - 1)
    • 0xxxxxxx
  • 2 字节 0000 0080 -- 0000 07ff
    • 110xxxxxx 10xxxxxx
  • 3 字节 0000 0800 -- 0000 ffff
    • 1110xxxxx 10xxxxxx 10xxxxxx
  • 4 字节 0001 0000 -- 0010 ffff
    • 11110xxxx 10xxxxxx 10xxxxxx 10xxxxxx

Encoding in Python

下面这些内容可能有误

Python2

str类型是二进制根据一定编码规则(GBK,UTF等等),encode之后的结果,个人理解为显示的结果,也就是对应的可见的字符。同一段二进制可以被不同的编码规则encode成不同的字符。

在unicode中对应的二进制为0x6d4b

utf-8的传输格式下,编码为\xe6\xb5\x8b
GBK的传输格式下,编码为\xb2\xe2

在保存一个文件时,可以选择以不同的编码方式进行保存。同一个字,在用'utf-8'进行保存时,文件内容为\xe6\xb5\x8b,用GBK进行保存时,文件内容为\xb2\xe2

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 编码问题一直困扰着开发人员,尤其在 Java 中更加明显,因为 Java 是跨平台语言,不同平台之间编码之间的切换...
    x360阅读 7,202评论 1 20
  • 有一种特别特别疲惫的感觉,月子里还是抱多了宝宝,胳膊巨疼,夜里又没怎么睡,喂完奶又要各种拍奶嗝哄睡着,好不容易能把...
    魚子澄阅读 1,716评论 0 0
  • 好久未买书,周末自己逛了书店,时间过的很快,买了练书法的书,故事书,看油画的书,好像皆是闲书一把,但时间放在...
    小璇子ab阅读 2,187评论 0 0
  • 快年底了,很多人都在思考明年的计划了。 在北上广奋斗的人,有相当一部分人在纠结要不要逃离北上广。 对于已经逃离北上...
    灵林玖玖阅读 4,793评论 10 5
  • 忙碌的一天 翻过 下班在街旁 等 面前车水马龙 还有看不见的 喧闹 耳边音乐萦绕 还有驱不走的 烦恼 幸好将要来的...
    欢乐V英雄阅读 1,267评论 3 2