我似乎无法使用内置的open()函数在Python 3.3下解码UCS-2 BE文件(遗留内容)(堆栈跟踪显示UnicodeDecodeError并包含我的readLine()方法) - 事实上,我无法找到指定此编码的标志。
使用Windows 8,终端设置为代码页 65001,使用"Lucida 控制台"字体。
我猜代码片段不会有太大帮助:
def display_resource():
f = open(r'D:workspaceresourcesJP.res', encoding=<??tried_several??>)
while True:
line = f.readline()
if len(line) == 0:
break
感谢对此问题的任何见解。
UCS-2 实际上是 UTF-16,适用于在任何情况下仍称为 UCS-2 时分配的任何代码点。
用encoding='utf16'
打开它。如果没有 BOM(字节顺序标记,开头为 2 个字节,对于 BE 来说,这将是 xfexff
),则使用 encoding='utf_16_be'
强制按字节顺序排列。