python2和python3的编码_python2和python3编码

本文深入探讨了Python 2与Python 3中字符串的编码与解码操作,包括Unicode与不同字符集间的转换,如UTF-8和GBK。通过实际代码示例展示了如何进行编码与解码,帮助读者理解不同环境下字符编码的处理方法。

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

python2编码

unicode:unicode 你好 u'\u4f60\u597d'

| |                  | |

encode('utf8')| |decode('utf8')      encode('gbk')| |decode('gbk')

| |                 | |

utf8                 gbk

编码后的str '\xe4\xbd\xa0\xe5\xa5\xbd' 编码后的gbk u'\u6d63\u72b2\u30bd'

# str: bytes

>>> s = '你好 world'

>>> printrepr(s)'\xe4\xbd\xa0\xe5\xa5\xbd world'

>>> printlen(s)12

>>> printtype(s)

# unicode:unicode

>>> s = u'你好 world'

>>> printrepr(s)

u'\u4f60\u597d world'

>>> printlen(s)8

>>> printtype(s)

#unicode: 无论什么字符在Unicode都有一个对应。

python2的特点

1.在python2中print把字节转成了Unicode

2.python2中以默认已ASCII编码

[root@localhost ~]# cat python.py

#coding:utf8 # 告诉解释器以utf8编码

print '你好'

python3编码

在python3中默认以utf8编码

str:unicode 你好 u'\u4f60\u597d'

| |                  | |

encode('utf8')| |decode('utf8')      encode('gbk')| |decode('gbk')

| |                 | |

utf8                 gbk

编码后的str '\xe4\xbd\xa0\xe5\xa5\xbd' 编码后的gbk u'\u6d63\u72b2\u30bd'

>>> s = '你好 world'

>>> print(json.dumps(s))"\u4f60\u597d world"

>>> print(len(s))8

>>> print(type(s))

编码解码方式1:

>>> s = '你好 world'

>>> b = s.encode('utf8')>>> print(b)

b'\xe4\xbd\xa0\xe5\xa5\xbd world'

>>> s = b.decode('utf8')>>> print(s)

你好 world>>> s = b.decode('gbk')>>> print(s)

浣犲ソ world

编码解码方式2:

>>> s = '你好 world'

>>> b = bytes(s,'gbk')>>> print(b)

b'\xc4\xe3\xba\xc3 world'

>>> s = str(b,'gbk')>>> print(s)

你好 world>>> s = '你好 world'

>>> b = bytes(s,'utf8')>>> print(b)

b'\xe4\xbd\xa0\xe5\xa5\xbd world'

>>> s = str(b,'utf8')>>> print(s)

你好 world>>> s = str(b,'gbk')>>> print(s)

浣犲ソ world

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值