首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python 3:读取UCS-2 (BE)文件

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

Stack Overflow用户
提问于 2013-01-24 04:02:27
回答 1查看 21.9K关注 0票数 13

我似乎无法在Python3.3下使用内置的open()函数(堆栈跟踪显示UnicodeDecodeError并包含我的readLine()方法)解码UCS-2BE文件(遗留内容)--事实上,我找不到用于指定此编码的标志。

使用Windows8,终端设置为代码页65001,使用'Lucida Console‘字体。

我猜代码片段不会有太多帮助:

代码语言:javascript
复制
def display_resource():
    f = open(r'D:\workspace\resources\JP.res', encoding=<??tried_several??>)
    while True:
        line = f.readline()
        if len(line) == 0:
            break

感谢您对此问题的任何见解。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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'来强制字节顺序。

票数 35
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14488346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档