【发布时间】:2015-09-01 04:40:36
【问题描述】:
我看过这个question 我对如何在运行时将 var 转换为 unicode 有疑问? 使用unicode函数是否正确? 还有其他方法可以在运行时转换字符串吗?
print(u'Cami\u00f3n') # prints with right special char
name=unicode('Cami\u00f3n')
print(name) # prints bad ===> Cami\u00f3n
name.encode('latin1')
print(name.decode('latin1')) # prints bad ===> Cami\u00f3n
encoded_id = u'abcd\xc3\x9f'
encoded_id.encode('latin1').decode('utf8')
print encoded_id.encode('latin1').decode('utf8') # prints right
我在 stackoverflow 上看到很多 python unicode 问题,但我无法理解这种行为。
【问题讨论】:
-
你想做什么?您要转换什么数据?这个从哪里来? “按运行时间”是什么意思?
-
\uhhhh转义序列仅适用于 Python unicode 文字。如果你有带有这种转义序列的数据,你很可能有 JSON 数据,它使用相同的语法。如果是这样,请对该数据使用 JSON 解析器。 -
您可以要求 Python 使用特殊的编解码器来解释此类序列,但这通常是对数据的错误解释。请分享您的实际数据样本,以便我们为您提供帮助。
标签: python python-3.x unicode