我得到了一个29.827的整数值,我想用UTF-16-LE编码将它转换成Unicode字符'glass'(U+7483)(参见http://www.fileformat.info/info/unicode/char/7483/index.htm)。在
我设法将这个数字转换成3字节的UTF-8编码(超过2048的整数在UTF-8中有3字节)
s ='\u%s'%hex(int_to_encode)[2:]
file.write(s.decode('unicode-escape').encode('utf-8'))
file.close()
但我发现需要的编码是UTF-16-LE。 在预期的编码中,整数表示也有3个字节(这就是为什么我认为我的第一次尝试是正确的,对于一个整数也是3个字节…)
非常感谢你的帮助
谨致问候
首先,要将数字转换为字符,请使用
chr()
(Python3),或unichr()
(Python2)。然后要使用UTF-16-LE进行编码,只需指定该编码而不是指定UTF-8。在所以Python 2:
在Python 2或Python 3中,可以在打开文件时指定文件编码:
^{pr2}$控制台会话显示:
相关问题 更多 >
编程相关推荐