所以我有这段代码,它使用base_64编码的数据(图像数据),将其转换为图像并在其上运行google vision(OCR)。但是base_64编码数据存在一些问题。即使认为它是正确的,它也会引发以下错误。
无效的base64编码的字符串:数据字符(167737)的数量不能超过4的倍数1
由于该字符串为2000行,因此无法在此处输入b'/9j/4af..........TE2f//Z'
,这是它的开始和结束方式,其中包含167737个字符。
所以我现在该怎么办,因为即时通讯无法将其转换回图像文件。只是为了测试代码,我使用的是我转换为base_64的图像,并使用该字符串将其传递给其他代码,该代码应该在转换后的图像上运行ocr后为我提供文本输出。
答案 0 :(得分:0)
添加缺少的填充。
padding = len(data) % 4
if padding > 0:
data += b'='* (4 - padding)
base64.b64decode(data)