此问题已在此处有答案:
Illegal base64 data at input byte 4 when using base64.StdEncoding.DecodeString(str)(4个答案)
Illegal base64 data at input byte 68(1个答案)
昨天关门了。
巨蟒
>>> print(base64.b64decode('//Py+vX7suTx8A=='))
b'\xff\xf3\xf2\xfa\xf5\xfb\xb2\xe4\xf1\xf0'
走吧
>>> data, err := base64.RawStdEncoding.DecodeString("//Py+vX7suTx8A==")
err -> illegal base64 data at input byte 14
为什么Python可以解码这个字符串,而Go失败了?
1条答案
按热度按时间dojqjjoe1#
RawStdEncoding
,顾名思义,接受“原始”base64编码的字符串。另一方面,你使用的字符串用2个“=”填充。尝试删除它们,你应该不会得到错误:正如@JimB所说,如果你想解码填充字符串,只需使用
base64.StdEncoding
和填充版本。