1) 如何在Python 2.7中将符号转换为其4位Unicode转义表示法,例如将"¥"
转换为"\u00a5"
?
2) 如何在Windows 7/8平台上将Unicode表示法转换为符号表示法,例如将"\u00a5"
转换为"¥"
?
1) 如何在Python 2.7中将符号转换为其4位Unicode转义表示法,例如将"¥"
转换为"\u00a5"
?
2) 如何在Windows 7/8平台上将Unicode表示法转换为符号表示法,例如将"\u00a5"
转换为"¥"
?
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')
ord
值,并将其插入格式字符串中。代码如下:
"\\u%04x" % ord("¥".decode("utf-8"))
还有一个方法unichr
,据说可以输出类似于这样的内容,但在我的系统上,它显示的编码与所需的编码不同。因此,上述解决方案是我能想到的最具平台独立性的方式。
.decode(sys.stdout.encoding)
来选择本地格式。否则,您只需要尝试从不同的格式进行解码以找到有效的方法。 - Andrew Johnson
symbol
时,您将其转换为 Unicode 字符串。请参阅 http://nedbatchelder.com/text/unipain.html。 - Robᵩ