如何从文本文件中将字符串转换为unicode?

时间:2016-03-02 17:10:16

标签: python unicode python-2.x

我有一个包含以下内容的文本文件:

Guadalajara
Culiacán
Juárez
Ecatepec

我想将所有这些转换为unicode。我尝试使用:

unicode(INSERT WORD FROM TEXT FILE)

但我收到错误:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe1 in position 6: ordinal not in range(128)

无论如何将字符串从文本文件转换为unicode?

1 个答案:

答案 0 :(得分:1)

您需要知道文件的编码。如果您这样做,请使用codecs.open()打开文件,然后您将自动获取正确的Unicode对象:

import codecs
with codecs.open("myfile.txt", encoding="utf-8") as infile:
    text = infile.read()

你也可以打开文件"通常"然后手动解码其内容 - 你仍然需要知道编码是什么,但是:

with open("myfile.txt") as infile:
    text = infile.read()
uni = text.decode("utf-8")