有关Python3 字符编码问题的简单小结

版权声明:转载请标注出处与作者,写文不易,相互尊重从小事做起。 https://blog.csdn.net/JasonRaySHD/article/details/82558316

转载请标明出处,谢谢!
之前一直没怎么弄清python3是如何编码的,各种编码方式之间又是如何转化的,看了很多文章,现在自己做一个小结。

有错误的地方还希望各位朋友指正,大家共同讨论学习,谢谢!


1、大体的字符编码方式演变过程:
ASCLL -> gbh2312 ->gbk -> Unicode
上面列出的4种编码方式,我就不详细解释了,想要了解的朋友请自行搜索。
2、python3中的编码方式:
python3的默认编码方式是UTF-8编码。有bytestr两种表示字符序列的类型,其中str是基准

byte 是二进制表示的,例如: /x23 /x5f (/x 表示16进制,利用print打印时的效果,在计算机中储存就是二进制的)
str 是字符串,由不同的编码方式决定表示的方法。

str 通过 encode 解码为byte

byte 通过 decode 编码为str

3、编码方式之间的相互转化
假设有一个字符串,s = ‘我’ 是由UTF-8编码的,现在要转换为gbk编码方式。则先要利用str.encode(‘gbk’) 将utf-8编码的字符串类型的s转换为gbk编码的二进制,再利用decode()方式显示出gbk编码后的s。

注意:这里UTF-8转换为GBK编码时,利用了UNICODE编码作为中介,具体过程由内置的程序完成。

猜你喜欢

转载自blog.csdn.net/JasonRaySHD/article/details/82558316
今日推荐