我有点困惑。在 Python 中,二进制字符串、字节字符串、unicode 字符串和普通旧字符串 (str) 之间有什么区别?我正在使用 Python 2.6。
最佳答案
这取决于您使用的 Python 版本。
在 Python 2.x 中,如果您编写 'abc'
,它的类型为 str
,但这意味着一个字节串。如果你想要一个 Unicode 字符串,你必须写 u'abc'
。
在 Python 3.x 中,如果您编写 'abc'
,它仍然具有 str
类型,但现在这意味着它是一个 Unicode 字符的字符串。如果你想要一个字节串,你必须写b'abc'
。不允许写u'abc'
。
| 2.x | 3.x
--------+--------------------------+-----------------------
Bytes | 'abc' <type 'str'> | b'abc' <type 'bytes'>
Unicode | u'abc' <type 'unicode'> | 'abc' <type 'str'>
关于python - 二进制串、字节串、unicode串和普通串(str)的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8219706/