Python 解码 Base64 错误:'gbk' codec can't decode byte 0x8d 解决方法
Python 解码 Base64 错误:'gbk' codec can't decode byte 0x8d 解决方法
在使用 Python 解码 Base64 数据时,你可能会遇到 'gbk' codec can't decode byte 0x8d in position 7340: illegal multibyte sequence 的错误。这个错误是由于在打开文件时使用了错误的编码方式导致的。
解决方法
-
指定文件编码方式
如果你的文件编码方式是 utf-8,你可以尝试在打开文件时指定正确的编码方式:
with open('jiami.txt', 'r', encoding='utf-8') as inputFile, open('jiemi.txt', 'w', encoding='utf-8') as outputFile: ... -
使用 '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}
')
请根据你的实际情况选择适合的编码方式。
原文地址: https://www.cveoy.top/t/topic/qcBi 著作权归作者所有。请勿转载和采集!