gpt4 book ai didi

python - 在 python 3 和 2 中工作的 Unicode 文字

转载 作者:IT老高 更新时间:2023-10-28 21:48:01 25 4
gpt4 key购买 nike

所以我有一个 python 脚本,为了方便起见,我更喜欢在 python 3.2 和 2.7 上工作。

有没有办法让 unicode 文字同时适用于两者?例如

#coding: utf-8
whatever = 'שלום'

上述代码在 python 2.x (u'') 中需要一个 unicode 字符串,而在 python 3.x 中,小 u 会导致语法错误。

最佳答案

编辑 - 从 Python 3.3 开始,u'' 文字再次起作用,因此不需要 u() 函数。

最好的选择是创建一个方法,在 Python 2 中从字符串对象创建 unicode 对象,但在 Python 3 中单独保留字符串对象(因为它们已经是 unicode)。

import sys
if sys.version < '3':
import codecs
def u(x):
return codecs.unicode_escape_decode(x)[0]
else:
def u(x):
return x

然后你会像这样使用它:

>>> print(u('\u00dcnic\u00f6de'))
Ünicöde
>>> print(u('\xdcnic\N{Latin Small Letter O with diaeresis}de'))
Ünicöde

关于python - 在 python 3 和 2 中工作的 Unicode 文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6625782/

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