python中的Unicode-Ascii混合字符串

玛纳斯·帕德(Manas Paldhe)

我有一个存储在数据库中的字符串:

FB (\u30a8\u30a2\u30eb\u30fc)

当我从python代码加载此行时,我无法正确设置其格式。

# x = load that string
print x # returns u'FB (\\u30a8\\u30a2\\u30eb\\u30fc)'

请注意,两个“ \”会弄乱前端的unicode字符,而不是显示外部字符,html会将其显示为\ u30a8 \ u30a2 \ u30eb \ u30fc

但是,如果我加载附加一些字符以将其转换为json格式并加载json,则会得到预期的结果。

s = '{"a": "%s"}'%x
json.loads(s)['a']
#prints u'FB (\u30a8\u30a2\u30eb\u30fc)'

请注意,此结果(在前端正确显示)与直接打印x(具有extra)之间是有区别的。因此,尽管这种骇人听闻的解决方案有效,但我想要一个更干净的解决方案。我在x.encode('utf-8')等游戏中玩了很多,但是都没有用。

谢谢!

马克·托洛宁

由于您已经有了Unicode字符串,因此将其编码回ASCII并使用unicode_escape编解码器对其进行解码:

>>> s = u'FB (\\u30a8\\u30a2\\u30eb\\u30fc)'
>>> s
u'FB (\\u30a8\\u30a2\\u30eb\\u30fc)'
>>> print s
FB (\u30a8\u30a2\u30eb\u30fc)
>>> s.encode('ascii').decode('unicode_escape')
u'FB (\u30a8\u30a2\u30eb\u30fc)'
>>> print s.encode('ascii').decode('unicode_escape')
FB (エアルー)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在python中解码部分转义的unicode字符串(混合的unicode和转义的unicode)?

Python在ascii和hex混合的字符串中查找消息

如何在Python中通过ASCII字符串恢复Unicode字符串?

在python中处理unicode字符串

在python中哈希unicode字符串

在Python中遍历unicode字符串

如何使用 unicode_literals 在 Python3 或 2.7 中创建 ASCII 字符串

输出中的NASM混合字符串

仅包含ASCII字符的UNICODE字符串是否总是等于ASCII字符串?

在python中获取unicode字符串中的字符数

字符串的Python ASCII值

Python字符串转ASCII并返回

Python 在字符串中打印 ascii 字符而不是值

Python-替换字符串(»)中的非ascii字符

python从字符串中删除特定的非ASCII字符

在 Python 中的字符串中转换 ASCII 编码的字符

仅从 Python 中的混合字符串中提取单词

从Python字符串中删除零宽度的Unicode字符

在字符串中打印字符的unicode数(Python)

Python:迭代字符串中的unicode字符

(python)在我的数据库中混合了一些错误的ascii代码,如何将这些字符串正确转换

Python Unicode 字符串

将可能包含非ASCII Unicode字符的PowerShell输出解码为Python字符串

如何检查Python中的字符串是否为ASCII?

如何在python中解码ascii结合字符串

如何检查字符串是unicode还是ascii?

将\ u转义的Unicode字符串转换为ASCII

将Unicode字符串转换为ASCII

在python字符串中禁止u'prefix指示unicode'