python-2.7 - Python Raw-Unicode-转义编码

标签 python-2.7 unicode encoding

我正在阅读 python 2.7 的文档,我只是不明白 Raw-Unicode-Escape encoding .原始文档如下:

对于专家来说,还有一种原始模式,就像普通字符串的模式一样。您必须在开头引号前加上 ‘ur’ 才能让 Python 使用 Raw-Unicode-Escape 编码。如果小“u”前面的反斜杠数量不均匀,它只会应用上面的\uXXXX 转换。

而且我想知道为什么所需的反斜杠数量不均匀。这只是一个规则还是由于其他原因?

最佳答案

\uXXXX 转义是在原始字符串中专门处理的,正如您引用的文本所描述的那样。 ur'\\\\' 是一个包含四个反斜杠的字符串,而 ur'\\\u0020\\' 是四个反斜杠和一个空格。如果我不得不猜测为什么要识别 \u 必须有不均匀数量的反斜杠,我猜这是因为非原始字符串解析器也是这样工作的(我还没有查看源代码来确定)。
为什么这个问题可能归结为 python 2 的“因为它是这样定义的”。Python 3 不再这样做了 - r'\\\u0020\\''\\\\\\u0020\\\\'

关于python-2.7 - Python Raw-Unicode-转义编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43013655/

相关文章:

Python 在函数调用返回之前打印?

python - Python 中复杂列表理解语句的操作顺序和内部创建资源的数量

python - 如何在python中重新对齐图像片段?

html - unicode 表情符号未在 Chrome 上显示

encoding - 回归分析中如何区分分类变量和序数变量?

mysql - 更改实时 MySQL 数据库上的字符集

python-2.7 - 如何在 QLineEdit 中隐藏密码

c++ - 在 Unicode 应用程序中使用 ANSI 函数是否有任何限制

c# - 日本字符显示?符号

c++ - 如何以最佳方式解决字母位置移动问题?