如何解决“charmap”编解码器无法编码字符,但提到的字符不在输入文件中
我正在尝试使用以下 Python 代码解码 EBCDIC 文件:
from os import path
import ebcdic
VERSION_EBCDIC = "cp1147"
def decodeEbcdic(inputDir,outputDir):
for root,subdirectories,files in walk(inputDir):
for subdirectory in subdirectories:
#do nothing
for file in files:
print(file)
f = open(path.join(root,file),'rb')
inputData = f.read()
f.close()
outputData = inputData.decode(VERSION_EBCDIC)
f = open(path.join(outputDir,'w')
f.write(outputData)
f.close()
decodeEbcdic(INPUT_DIR_EBCDIC,OUTPUT_DIR_ASCII)
我收到以下错误:UnicodeEncodeError: 'charmap' codec can't encode character '\x8e' in position 9: character maps to <undefined>
。
但是,使用 HxD 观看输入文件时,我看不到提到的字节: hexadecimal description of the begginning of the input file
事实上,字节 8E 并没有出现在整个输入文件中。字节 E8 也没有。
但也许我没有正确理解错误信息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。