初学Python:encode、decode和Unicode等

本文是Python初学者对编码的理解,探讨了ASCII、扩展ASCII、Unicode、GB2312、GBK、GB18030和UTF等编码格式。介绍了Python中字符串的unicode表示以及encode和decode函数的用途,强调了在编码转换中通常以unicode作为中间编码的重要性。
摘要由CSDN通过智能技术生成

本人是Python的初学者,阐述不到位或者不对之处,敬请见谅!
首先搞清楚:字符串在Python内部的表示是unicode编码,我一般在Python代码开始,加上:

reload(sys)
sys.setdefaultencoding('utf-8') #修改系统的默认编码

这样,代码默认的编码格式就是utf-8,另外,了解一下:

print sys.getdefaultencoding() #获取系统默认的编码

encode()和decode()都是字符串的函数
encode:编码,将unicode编码转换成其他编码的字符串
decode:解码,将其他编码的字符串转换成unicode编码
Unicode类型:编码的基础类型(有些说法是一个类)

在做编码转换时,通常需要以unicode作为中间编码,
即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码

      decode                 encode
str ---------> str(Unicode) ---------> str

如:s=‘中文’
如果是在utf8的文件中,该字符串就是utf8编码,如果是在gb2312的文件中,则其编码为gb2312。这种情况下,要进行编码转换,都需要先用decode方法将其转换成unicode编码,再使用encode方法将其转换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值