尝试使用base64.StdEncoding.DecodeString(解码Base64Image时) str),用户可能会遇到错误“输入字节 4 处存在非法的 base64 数据”。发生这种情况是因为输入字符串并非完全 Base64 编码。
提供的输入是数据 URI 方案,这是一种用于在网页中嵌入数据(例如图像)的格式。它遵循以下结构:
data:[<MIME-type>][;charset=<encoding>][;base64],<data>
在给定的示例中,MIME 类型为“image/png”,“;base64”表示数据组件是 Base64 编码的。
要提取 Base64 编码数据,请删除前缀(包括逗号):
input := "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYA" b64data := input[strings.IndexByte(input, ',')+1:]
现在,您可以解码 Base64 string:
data, err := base64.StdEncoding.DecodeString(b64data) if err != nil { fmt.Println("error:", err) }
此过程将成功解码图像数据,而不会遇到“输入字节 4 处非法的 Base64 数据”错误。
以上是为什么 base64.StdEncoding.DecodeString(str) 失败并出现'输入字节 4 处存在非法 base64 数据”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!