我似乎无法在Python3.3下使用内置的open()函数(堆栈跟踪显示UnicodeDecodeError并包含我的readLine()方法)解码UCS-2BE文件(遗留内容)--事实上,我找不到用于指定此编码的标志。
使用Windows8,终端设置为代码页65001,使用'Lucida Console‘字体。
我猜代码片段不会有太多帮助:
def display_resource():
f = open(r'D:\workspace\resources\JP.res', encoding=<??tried_several??>)
while True:
line = f.readline()
if len(line) == 0:
break感谢您对此问题的任何见解。
发布于 2013-01-24 04:10:59
UCS-2 is UTF-16,真的,对于任何码点,当它在任何情况下仍然被称为UCS-2时被分配。
使用encoding='utf16'打开它。如果没有BOM ( Byte order mark,开头是2个字节,因为它应该是\xfe\xff),那么使用encoding='utf_16_be'来强制字节顺序。
https://stackoverflow.com/questions/14488346
复制相似问题