譬如输入一个5206,输出对应的汉字“分”(u'\u5206'),接口大概像这样
def translateUnicodeNum2Chinese(unicodeNum):
return xxx;
decode(unicode).encode(utf8)。先unicode解码,在utf8编码。我用这种方法成功显示。
Python2:
unichr(0x5206)
~
构造字符串然后转化
import codecs
u = "\\u{:0>4}".format(unicodeNum) //没有考虑unicodeNum长度超过4位的情况
print codecs.decode(u,"unicode_escape")
直接根据数字转化
@chenxing 的方法也可以,不过不能5206这个数值直接带入把unichr
函数,unichr
函数需要的是16进制的数值,把你的unicodeNum
需要转化为16进制数,然后再unichr(n)
而不是直接unichr(5206)
。
你说的translateUnicodeNum2Chinese(unicodeNum)
这个unicodeNum
参数类型是什么,16进制数字的字面量"5206"
?还是十六进制数字0x5206
,亦或者十进制数字5206
?
Python2 : unichr(5206)
Pytho3 : chr(5206)