异常:输入字节 4 处存在非法 Base64 数据
尝试使用 base64.StdEncoding.DecodeString 解码 Base64 编码的字符串时,可能会出现“输入字节 4 处存在非法 base64 数据”错误。此错误源于对数据 URI 方案的不当处理。
数据 URI 方案在网页内内联编码数据,类似于外部资源。它们的格式类似于:
data:[<MIME-type>][;charset=<encoding>][;base64],<data>
其中:
要纠正您场景中的问题,您必须在解码之前从数据 URI 方案中提取 Base64 编码的数据。要实现此目的,请删除逗号之前的前缀:
input := "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYA" b64data := input[strings.IndexByte(input, ',') + 1:]
现在您有了 Base64 编码的数据,可以成功解码:
data, err := base64.StdEncoding.DecodeString(b64data) if err != nil { fmt.Println("error:", err) } fmt.Println(data)
以上是为什么在解码 Base64 字符串时出现'输入字节 4 处存在非法 Base64 数据”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!