Python 3:读取 UCS-2 (BE) 文件



我似乎无法使用内置的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' 强制按字节顺序排列。

相关内容

  • 没有找到相关文章

最新更新