首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python编解码

python编解码
EN

Stack Overflow用户
提问于 2021-01-29 13:17:14
回答 1查看 45关注 0票数 0

我从一本书上找到了一篇文章,上面写着:

在Python3.x中,普通的

字符串处理Unicode文本(包括str,它只是一种简单的Unicode);一个不同的bytes字符串类型表示原始字节值(包括媒体和编码文本);2.X Unicode文本在3.3和更高版本中被支持,以实现2.X兼容性(它们与普通的3.X str字符串相同)。

问: 2.X Unicode文字是什么?

在Python2.x中的

中,普通的str字符串处理8位字符串(包括ASCII文本)和原始字节值;不同的unicode字符串类型表示Unicode文本;3.X字节文本在2.6及更高版本中被支持,以实现3.X兼容性(它们与普通的2.X str字符串相同):

问: 3.X字节的文字是什么?

EN

回答 1

Stack Overflow用户

发布于 2021-01-31 19:59:04

据说在Python 2中,字符串在默认情况下不是Unicode,它们是简单的老式8位字符ASCII/ANSI。因此,如果您想在源代码中的引号中放入一个常量字符串(这就是字面意思),并让Python 2将其解释为Unicode字符串,而不是ASCII,那么您必须在其前面放一个"u“来显式声明它。

代码语言:javascript
复制
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“语法,以避免破坏使用它的旧脚本。

代码语言:javascript
复制
Python 3.8.5 (default, Jul 28 2020, 12:59:40)
>>> type("hello")
<class 'str'>
>>> type(u"hello")
<class 'str'>
>>>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65955214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档