我在尝试将 UTF-8 文件(包含俄语字符)转换为 ISO-8859-5 文件时遇到问题:'charmap' 编解码器无法编码位置 0 中的字符 u'\ufeff':字符映射到 .鉴于以下情况,有没有人知道出了什么问题(?):
def convert():
try:
import codecs
data = codecs.open('in.txt', 'r', 'utf-8').read()
except Exception, e:
print e
sys.exit(1)
f = open('out.txt', 'w')
try:
f.write(data.encode('iso-8859-5'))
except Exception, e:
print e
finally:
f.close()
“in.txt”:
ё!—№%«»(эюпоиуыяафйклж;нцхз
最佳答案
feff 是一个 Byte-Order-Mark 字符。 ISO-8859-5 对此没有任何表示。
在将其编码为 ISO-8859-5 之前,您需要将其从 data
变量中剥离。
关于Python 转换为 ISO-8859-5,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2193611/