【发布时间】:2014-05-05 05:33:48
【问题描述】:
如何读取python 2.x中的unicode文件(不是UTF-8,未知编码)
我试图找到一种读取 unicode 文件的方法。 我在网上搜索了很久很久。 但我找不到它。 我发现的是读取编码为 UTF-8 等文件的方法。 我知道,当我需要读取 UTF-8 时,我可以使用编解码器。
codecs.open('unicode2.txt',encoding='utf-8')
使用它我可以读取 UTF-8 文件。 但我想知道如何读取 unicode 文件。 许多标题为“在 python 中读取 unicode 文件的方法”的帖子实际上讲述了一种读取 UTF-8、UTF-16 等文件的方法。
为什么没有人解释读取 'UNICODE' 文件的方法?
这是我尝试使用 python 读取的文本文件的十六进制值示例。
这是韩语,“파이썬에서 한글 읽기”
(FF FE) 0C D3 74 C7 6C C3 D0 C5 1C C1 20 00 5C D5 00 AE 20 00 7D C7 30 AE
(FF FE) 表示字节顺序。
每 2 个字节表示字符。如您所见,空格写为“20 00”,而不是“20”
在 unicode 中,空格写为 '20 00'。但是UTF-8,空格写成'20'。
没有办法使用像“codecs.open('unicode2.txt',encoding='**unicode**')”这样的编解码器
真的没有办法在python中读取"unicode"文件吗?
【问题讨论】:
-
没有真正意义上的“unicode 文件”。只有具有特定 unicode 编码的文件。你需要知道你的文件是什么编码的。看起来你的文件可能是 UTF-16 的。
-
您绝对应该阅读以下内容:docs.python.org/2/howto/unicode.html
-
这个问题似乎是题外话,因为它基于一个错误的前提,即文件可以是“Unicode”而不被编码。除了开始学习 unicode 和编码之外,没有真正的解决方案。
-
哦,我不知道那是 UTF-16。现在我解决了一个问题。真的非常感谢!
-
@user3051951 这是关于 joelonsoftware.com/articles/Unicode.html 主题的精彩基础读物,希望您喜欢 :)