python两个版本区别_python两个版本中字符串的区别

Python

两个版本中字符串的区别

Python2

python3

版本一个最大的最明显的区别就是

python3

支持中文了,

对于

python2

经常遇到到那些坑人的编码问题来说,

这一个大的改变是非常值个

肯定的。而这基本的数据类型字符串在

3

版本中究竟做了什么样的改变呢?

首先我们来先说下

python2

的情况,

python2

使用的是

ASCII

码编码的,

所以

默认是不支持中文的,

程序中有中文都不能正常的保存。

但是可以在开头加上这

# -*- coding:utf-8 -*-

来设置程序的编码就可以了,当使用

print

输出中文时又

发现有些能正常输出有些却是乱码,

这时只要将不能正常输出的中文字符串前面

加上

u

字母就可以了。到这里就已经引出了

python2

中的两种字符串类型,

str

unicode

,可以简单的理解为

str

是机器能识别的字符串,而

unicode

是我们能

看懂的字符串,

str

可以解码

decode

unicode

unicode

可以编码

encode

str

。在

idle

shell

中中文会成

gbk

的编码,用什么编码就得用什么解码。

例,在

python2

中:

>>> a =

'

中文

'

>>> a

'\xd6\xd0\xce\xc4'

>>> b = u'

中文

'

>>> b

u'\u4e2d\u6587'

>>> a.decode('gbk')

u'\u4e2d\u6587'

>>> b.encode('gbk')

'\xd6\xd0\xce\xc4'

>>>

python3

中使用的就是

unicode

国际编码,

utf-8

unicode

编码的一种形

式,是支持中文的。

Python3

中的字符串有两种,

str

bytes

,这里

str

其实就是

python2

中的

unicode

,而

bytes

python2

中的

str

。所以这里的

str

可以编码

encode

)成

bytes

bytes

可以解码(

decode

)成

str

例,在

python3

中:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值