【发布时间】:2017-01-05 02:45:18
【问题描述】:
我在记事本中创建了一个只有一个破折号的文件,并使用Unicode (big endian) 编码保存了这个文件。在记事本中,这会显示一个破折号。当我在 Python 3/IDLE 中打开文件并像这样读取它时:
open(file_path, encoding="UTF-16-BE").read()
我明白了:
'\ufeff—'
以字节表示,文件内容如下:
b'\xfe\xff \x14'
它不应该处理 BOM 而不显示它吗?我查看了 Python 的可用编码,其中没有像 UTF_8_SIG 那样的 UTF_16_BE_SIG。这是怎么回事,我该如何正确处理?
【问题讨论】:
-
@Robᵩ - 我更喜欢你的答案而不是链接的答案,所以我不会投票。