微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

“charmap”编解码器无法编码字符,但提到的字符不在输入文件中

如何解决“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 举报,一经查实,本站将立刻删除。