【发布时间】:2016-01-01 21:09:28
【问题描述】:
我试图获取文本文件的内容并将其映射到 json 文件中,但我注意到 python 自动将 kurdish(sorani) 文本转换为 UTF-8 文字。有人可以解释为什么 python 会这样做,我该如何防止转换?
您可以使用以下代码对其进行测试:
def readText():
# test.txt contains kurdish sorani characters (an article)
# Sorani example: ڕۆژتان باش بەڕێزان. من ناوم ڕەنجە.
with open('test.txt', 'r') as context:
data = context.readlines()
return data
print(readText())
我在 Ubuntu 14.x 上运行 python 2.x。 Python2.x 做到了这一点! Python 3.x 不会对其进行转换并且工作正常。
【问题讨论】:
-
你得到的输出是什么?像 \uXXXX 吗?
-
您可以通过查看
PYTHONIOENCODING环境变量来解决您的问题:docs.python.org/2/using/cmdline.html -
输出如下:'\xd9\x87\xd8\xa7\xd9\x88\xd8'
-
终端的输出在哪里?它运行的是什么版本的 Python?另外,请参阅我的答案以了解可能性。
-
@user3419211,你确定你使用的是 python3 吗?因为你不应该看到使用 python3.4 的 repr 表示
标签: python utf-8 non-ascii-characters