UCS2 coding and decoding using Python
1 2 3 | s ="????".encode("utf-16be") uni = s.decode("utf-16be") print (uni) |
UnicodeEncodeError: 'ascii' codec can't encode characters in position 3-7: ordinal not in range(128).
有什么建议吗?
在python 3中,您所拥有的已经可以工作了,因为字符串文本在默认情况下是Unicode的。
在Python2中,可以使用
1 2 3 | s = u"????".encode("utf-16be") uni = s.decode("utf-16be") print (uni) |
结果:
1 | ???? |
好的,您有一个使用ASCII字符集的Unicode编码错误。您的前两行中的任何一行都不应该出现此错误,因为没有一行试图将Unicode字符串编码为ASCII。
所以我假设它是由第三行的
您必须找到终端支持的编码,或者您是否可以使用"utf-8"。
然后你可以用
1 | print(uni.encode("utf-8", errors="replace")) # or the encoding supported by your terminal |