为了账号安全,请及时绑定邮箱和手机立即绑定

非base64字符串被视为

非base64字符串被视为

Go
慕码人2483693 2022-06-27 15:38:23
再会!我有一个 base64 编码的 id,它是一些类似“/some/path/ok”的路径L3NvbWUvcGF0aC9vaw==当我尝试对其进行解码时-应该可以。有时我会在我的函数中得到一些错误的数据,例如:5b835b45b2de7748459a1183它不是 base64 编码的字符串,但我的代码和 golang 解码器说没问题:s, err:= base64.URLEncoding.DecodeString("5b835b45b2de7748459a1183")有什么方法可以确保给定的字符串是base64还是不是base64?或者我必须依赖其他一些工具,比如解码后检查路径?
查看完整描述

2 回答

?
慕勒3428872

TA贡献1848条经验 获得超6个赞

5b835b45b2de7748459a1183是一个有效的 base64 字符串,所以你不能做任何事情。有一个输入数据,其 base64 编码形式正是如此。

这与 Go 或处理 base64 字符串无关,这很可能是生成此文本的源中的错误。这很可能是某些数据的十六进制表示(可选地与其他转换)。如果它生成 base64 以外的任何内容,您必须修复您的源,或者您必须使用正确的解码算法(在这种情况下不是 base64)。


查看完整回答
反对 回复 2022-06-27
?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

否。检查字符串是否为 base64 的正确方法是使用该DecodeString方法的错误,因为如果不是 base64,它将失败。这也是做事的必经之路。

重要的是要注意该字符串可以是 base64 字符串并且没有您需要的信息(就像这里的情况一样)。在这种情况下,我建议您在使用结果之前对其进行清理(检查它是否是有效的文件/文件夹就可以了)。


查看完整回答
反对 回复 2022-06-27
  • 2 回答
  • 0 关注
  • 236 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号