Python3中的字符编码

Python2中的头文件

    英语是世界上最流行的语言,任何IDE中文本的编码方式几乎都是ASCII,但是,如果想在编译环境中正常显示中文,就需要付出一些额外的努力。对于Python2来说,就面临这个“中文能否正常显示”的问题,因此,为了让编译器知道这些字符是中文,就不能使用ASCII编码了,但是同时又得兼容ASCII,于是,‘utf-8’是一个不错的选择。我们常常在程序最开始加上,

  但是话说回来,对于python3来说,默认的编码方式就是'utf-8', 完全不存在此问题,所以也就不用加这一行了。

 

Python2 与 Python3 在字符编码领域的区别

   习惯了Python2的同学,如果直接进行Python3的开发,一定会被此问题大大困扰,因为楼主就因为此问题搞的异常痛苦。

  你一定会发现一个问题,那就是,对于str的变量,将无法decode了,会提示,str对象没有decode方法!这是为什么呢?因为,在Python3里面,所有的字符串均是以Unicode码存储的! 本身就是Unicode,自然也就不需要decode了,只需要encode即可。要知道,如果是Python2,如果想对一个字符串进行编码的话,要首先将其decode成unicode,然后再进行encode,而Python3完全省掉了这一步。

  上一节有提到,gb18030,gbk,gb2312这三者是向下兼容的,以下在Python3中做一个小实验,展示了如何将gb2312、gbk和utf-8相互转换。

     同时,我们也可以发现,常用的汉字用“UTF-8”编码大约占3字节。 

     那么,Python2 和 Python3中有关字符编码,到底是怎样一种关系呢?

     本质上来说,这一点是相当混乱的。这不是楼主说的,而是很多程序员的共识。

     在Python3中的 str<

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值