首页 > 后端开发 > Golang > 为什么 base64.StdEncoding.DecodeString(str) 失败并出现'输入字节 4 处存在非法 base64 数据”错误?

为什么 base64.StdEncoding.DecodeString(str) 失败并出现'输入字节 4 处存在非法 base64 数据”错误?

Patricia Arquette
发布: 2024-12-02 22:15:19
原创
212 人浏览过

Why Does base64.StdEncoding.DecodeString(str) Fail with

使用base64.StdEncoding.DecodeString(str)时“输入字节4处存在非法base64数据”

尝试使用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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板