Python 2 str
与bytes
兼容,但在Python 3上str
为unicode
。
我正在将一些项目移植到Python3,但支持Python2.7。
这个产品有许多字符串常量的测试。此外,还有'...'.join(...)
和'...'.format(...)
。
如何将Python3设为b'123' == '123'
?
答案 0 :(得分:3)
在Py3中
>>> '123ü'.encode('utf-8')
b'123\xc3\xbc'
或
>>> bytes('123ü', 'utf-8')
b'123\xc3\xbc'
但是你可能想要反过来,并在Py2中使用UTF-8来更容易过渡。使用
# -*- coding: utf-8 -*-
from __future__ import unicode_literals`
在Py2中将所有字符串都设为u''
。