Python 解码 Base64 错误:'gbk' codec can't decode byte 0x8d 解决方法

在使用 Python 解码 Base64 数据时,你可能会遇到 'gbk' codec can't decode byte 0x8d in position 7340: illegal multibyte sequence 的错误。这个错误是由于在打开文件时使用了错误的编码方式导致的。

解决方法

  1. 指定文件编码方式

    如果你的文件编码方式是 utf-8,你可以尝试在打开文件时指定正确的编码方式:

    with open('jiami.txt', 'r', encoding='utf-8') as inputFile, open('jiemi.txt', 'w', encoding='utf-8') as outputFile:
        ...
    
  2. 使用 'utf-8-sig' 编码方式

    'utf-8-sig' 编码方式可以自动去除文件中的 BOM (Byte Order Mark),因此它是一种更通用的编码方式。你可以尝试使用这种编码方式:

    with open('jiami.txt', 'r', encoding='utf-8-sig') as inputFile, open('jiemi.txt', 'w', encoding='utf-8') as outputFile:
        ...
    

代码示例

# 打开输入文件和输出文件
with open('jiami.txt', 'r', encoding='utf-8-sig') as inputFile, open('jiemi.txt', 'w', encoding='utf-8') as outputFile:
    # 逐行读取输入文件
    for line in inputFile:
        # 分割每行数据
        columns = line.strip().split('	')
        # 解码第二列数据
        decodedData = base64.b64decode(columns[1]).decode('utf-8')
        # 写入输出文件
        outputFile.write(f'{columns[0]}	{decodedData}
')

请根据你的实际情况选择适合的编码方式。

Python 解码 Base64 错误:'gbk' codec can't decode byte 0x8d 解决方法

原文地址: https://www.cveoy.top/t/topic/qcBi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录