2011-08-18 96 views
0

我有一列Shift_JIS字符代码(整数),我想转换为Unicode字符。我想我需要一个chr()/unichr()函数的版本,可以在其他编码中使用。 我试过decode()hex()的组合,但它只解码字符串本身,而不是十六进制值。如何将Shift_JIS字符代码转换为python中的unicode字符?

例输入和输出:

input = [91, 92, 48, 528] 

output = ["[", "¥", "0", "0"] 

谁能帮助我?提前致谢。

+0

这是否工作: 'shift_str = CHR(shift_int // 256)+ CHR (shift_int%256)'then 'shift_uni = unicode(shift_str,'shift-jis')' – agf

+0

你能展示你需要的输入和输出样本吗? –

+0

“整数”是什么意思?你有一个'int'类型值的列表吗?或者是一个包含人类格式,基数为10的数字的字符串(即只有符号'0'到'9'和空格,类似的东西)?或者只是什么?它来自哪里 - 文本文件,用户输入等?描述**整个**过程。 –

回答

0

如果你开始是这样的:

bytearray = [65, 66, 67, 200, 156, 130]

那么这将做到这一点:

>>> ustring = reduce(operator.add, map(chr, bytearray)).decode('shift_jis') 
>>> ustring 
u'ABC\uff88\u6029' 
相关问题