首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python u'\u00b0‘返回u'\xb0’。为什么?

python u'\u00b0‘返回u'\xb0’。为什么?
EN

Stack Overflow用户
提问于 2016-09-22 23:00:01
回答 1查看 564关注 0票数 0

我使用的是python 2.7.10。

在处理字符编码时,在阅读了大量关于堆栈溢出等主题的文章后,我遇到了这种对我来说很奇怪的行为。Python解释器输入

代码语言:javascript
复制
>>>u'\u00b0'

将产生以下输出:

代码语言:javascript
复制
u'\xb0'

我可以使用dos窗口、空闲控制台和wing-ide python shell重复此行为。

我的假设(如果我错了请纠正我):“学位符号”有unicode 0x00b0,utf-8代码0xc2b0,拉丁语-1代码0xb0。Python文档说,带有u前缀的字符串文字是使用unicode编码的。

问:为什么结果转换为unicode字符串文字和一个字节转义序列匹配拉丁-1编码,而不是持久化unicode转义序列?

提前感谢您的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-22 23:05:14

Python使用一些规则来确定为每个字符从repr输出的内容。在0x0080到0x00ff范围内的Unicode字符码点的规则是使用序列\xdd,其中dd是十六进制代码,至少在Python2中是这样。在Python 3中,所有可打印的字符都将显示,而不会转换为十六进制代码。

至于为什么它看起来像拉丁-1编码,这是因为Unicode是以拉丁-1为基础开始的。直到0xff的所有码点都与其对应的拉丁文-1码点匹配。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39642521

复制
相关文章

相似问题

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