我有一个包含以下内容的文本文件:
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?
答案 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")