我从一本书上找到了一篇文章,上面写着:
在Python3.x中,普通的
字符串处理Unicode文本(包括
str,它只是一种简单的Unicode);一个不同的bytes字符串类型表示原始字节值(包括媒体和编码文本);2.X Unicode文本在3.3和更高版本中被支持,以实现2.X兼容性(它们与普通的3.Xstr字符串相同)。
问: 2.X Unicode文字是什么?
在Python2.x中的
中,普通的
str字符串处理8位字符串(包括ASCII文本)和原始字节值;不同的unicode字符串类型表示Unicode文本;3.X字节文本在2.6及更高版本中被支持,以实现3.X兼容性(它们与普通的2.Xstr字符串相同):
问: 3.X字节的文字是什么?
发布于 2021-01-31 19:59:04
据说在Python 2中,字符串在默认情况下不是Unicode,它们是简单的老式8位字符ASCII/ANSI。因此,如果您想在源代码中的引号中放入一个常量字符串(这就是字面意思),并让Python 2将其解释为Unicode字符串,而不是ASCII,那么您必须在其前面放一个"u“来显式声明它。
Python 2.7.18 (default, Aug 4 2020, 11:16:42)
>>> type("hello")
<type 'str'>
>>> type(u"hello")
<type 'unicode'>
>>>在Python 3中,str类始终是Unicode,因此如果需要,可以添加"u“,但没有任何区别;所有字符串都是Unicode。Python 3允许使用"u“语法,以避免破坏使用它的旧脚本。
Python 3.8.5 (default, Jul 28 2020, 12:59:40)
>>> type("hello")
<class 'str'>
>>> type(u"hello")
<class 'str'>
>>>https://stackoverflow.com/questions/65955214
复制相似问题