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

本文总结了Python3中的字符编码方式,包括从ASCII到Unicode的演变过程,并介绍了Python3默认使用UTF-8编码,以及str和byte类型之间的转换方法。同时,讲解了不同编码方式之间的转换流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载请标明出处,谢谢!
之前一直没怎么弄清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编码作为中介,具体过程由内置的程序完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值