file - python 3 : reading UCS-2 (BE) file

标签 file python-3.x ucs2

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

使用 Windows 8,终端设置为代码页 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

感谢对这个问题的任何见解。

最佳答案

UCS-2 is UTF-16 ,实际上,对于在任何情况下仍称为 UCS-2 时分配的任何代码点。

encoding='utf16' 打开它.如果没有 BOM( Byte order mark ,开头的 2 个字节,对于 BE 那将是 \xfe\xff ),然后使用 encoding='utf_16_be'强制字节顺序。

关于file - python 3 : reading UCS-2 (BE) file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14488346/

相关文章:

python - 如何在没有过滤器的情况下使用 tweepy

mysql - 如何将 UCS-2 Little Endian 编码的文件上传到 UTF-8 格式的 Mysql 表中

angular - 如何在 Angular 7中将输入从用户转换为UCS2并通过Usb Gsm调制解调器发送消息)

python - 在文件中搜索模式并替换找到的结果

java - 打印哈希表内的多值数据

java - 读取字符并检查它们是否是数字

python - 如何使用文本文件中的单选按钮

python - 如何退出Python中的一些中间函数

将文件传输到本地系统的 Java Web 服务

php - UCS2/HexEncoded 字符到 UTF8 在 php