1)如何在python 2.7中将符号转换为4位Unicode转义表示形式
例如"¥"
到"\u00a5"
?
2)如何在Windows 7/8平台上将Unicode表示转换为符号表示法
例如"\u00a5"
到"¥"
?
答案 0 :(得分:7)
1)是否需要\u
- 逃脱? \x
会工作吗?如果是,请尝试unicode_escape
编解码器。否则,您可以使用以下函数进行转换:
def four_digit_escape(string):
return u''.join(char if 32 <= ord(char) <= 126 else u'\\u%04x'%ord(char) for char in string)
symbol = u"hello ¥"
print symbol.encode('unicode_escape')
print four_digit_escape(symbol)
2)同样,您可以使用unicode_escape
编解码器:
encoded_symbol = '\\u00a5'
print encoded_symbol
print encoded_symbol.decode('unicode_escape')
答案 1 :(得分:1)
我发现在python中执行此操作的最可靠方法是首先将其解码为unicode,获取unicode字符的ord
并将其插入格式字符串中。它看起来像这样:
"\\u%04x" % ord("¥".decode("utf-8"))
还有一个方法unichr
应该输出这样的东西,但在我的系统上它显示的编码与操作所需的编码不同。所以上面的解决方案是我能想到的最独立于平台的方式。