用python2的小伙伴肯定会遇到字符编码的问题。下面对编码问题做个简单的总结,希望对各位有些帮助。
故事零:编码的定义
我们从“SOS“(国际通用求助信号)开始,它的摩斯密码的编码是:
“…---…”,想一下为什么选用S、O、S来作为求救信号?因为它简单,容易辨别且不容易发错呀!
那么,字符编码就是:
´给定一系列字符,对每个字符赋予一个数值,用数值来代表对应的字符,这一数值就是字符的编码。例如,我们给字符'A'赋予数值0x41,则0x41就是字符'A'的编码。字符编码是字符的表现、储存方式。
字符编码需要处理两件事:
(1)规定一个字符集中的字符由多少个字节表示;
(2)制定该字符集的字符编码表,即该字符集中每个字符对应的(二进制)值。
字符集:´给定一系列字符并赋予对应的编码后,所有这些字符和编码对组成的集合就是字符集。´比如,给定字符列表为{'A','B'}时,{'A'=>0x41,‘B'=>0x42}就是一个字符集。
常见字符集有:
ASCII
GB2312
GBK
GB18030
Big5
Unicode
一张图总结:
故事一:Python2与Python3的字符串类型?
python2中