go - 输入字节 68 处的非法 base64 数据

标签 go base64 decode

我收到:错误:输入字节 68 处的 base64 数据非法 将 base64_edcode 字符串传入 base64.StdEncoding.DecodeString(str) 时:

字符串是:

TbHl6ijhdKwXklzOkw5+/r5Yac0kED8Iyp/7suphsFLHSJAUGM8vZHeroTeJ9eF4PePO5A

但是将字符串放入php base64_decoed中就可以了 结果是 0000000000bd583f958a7018c9[11,"string",8641231,1111]

为什么?

最佳答案

因为它不是有效的 Base 64 字符串。它缺少结束填充。使用适当的填充:

TbHl6ijhdKwXklzOkw5+/r5Yac0kED8Iyp/7suphsFLHSJAUGM8vZHeroTeJ9eF4PePO5A==

it works ,或者你可以告诉解码器 not to look for padding :

    out, err := base64.StdEncoding.WithPadding(base64.NoPadding).DecodeString(str)

关于go - 输入字节 68 处的非法 base64 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50857251/

相关文章:

google-maps - 标记使用base64编码的字符串

python - 用 '\x' 替换 = 然后在 python 中解码

go - 使用mustEmbedUnimplemented ***方法的grpc

go - 在 Goland 中安装库的快捷方式

bash - exec.Command 卡在包含 nohup 的 Bash 脚本上

multithreading - 如何在go中转换以下Thread语句

ios - 检测 NSString 是否为 Base64

Javascript 将字符串格式的 GUID 转换为 Base64

java - TIFF 5.0 风格的 LZW 压缩有什么特别之处

R 将字符串从 6 位二进制解码为 8 位二进制