gpt4 book ai didi

python - 在 Python 2 和 Python 3 中有效的原始 unicode 文字?

转载 作者:太空狗 更新时间:2023-10-29 21:36:48 25 4
gpt4 key购买 nike

显然 ur"" 语法在 Python 3 中已被禁用。但是,我需要它! “为什么?”,您可能会问。好吧,我需要 u 前缀,因为它是一个 unicode 字符串,我的代码需要在 Python 2 上运行。至于 r 前缀,也许它不是必需的,但是我使用的标记格式需要很多反斜杠,这有助于避免错误。

这是一个在 Python 2 中执行我想要的操作但在 Python 3 中是非法的示例:

tamil_letter_ma = u"\u0bae"
marked_text = ur"\a%s\bthe Tamil\cletter\dMa\e" % tamil_letter_ma

遇到这个问题后,我找到了http://bugs.python.org/issue15096并注意到这句话:

It's easy to overcome the limitation.

有人愿意提供有关方法的想法吗?

相关:What exactly do "u" and "r" string flags do in Python, and what are raw string literals?

最佳答案

为什么不直接使用原始字符串文字 (r'....'),你不需要指定 u 因为在 Python 3 中,字符串是 unicode 字符串。

>>> tamil_letter_ma = "\u0bae"
>>> marked_text = r"\a%s\bthe Tamil\cletter\dMa\e" % tamil_letter_ma
>>> marked_text
'\\aம\\bthe Tamil\\cletter\\dMa\\e'

要使其在 Python 2.x 中也能工作,请添加 the following Future import statement在源代码的最开头,以便源代码中的所有字符串文字都变成 unicode。

from __future__ import unicode_literals

关于python - 在 Python 2 和 Python 3 中有效的原始 unicode 文字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33027281/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com