go - 非 base64 字符串按原样处理

标签 go base64

关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。












想改进这个问题?将问题更新为 on-topic对于堆栈溢出。

1年前关闭。




Improve this question




再会!
我有一个 base64 编码的 id,它是一些类似“/some/path/ok”的路径

L3NvbWUvcGF0aC9vaw==
当我尝试对其进行解码时-应该可以。
有时我会在我的函数中得到一些错误的数据,例如:
5b835b45b2de7748459a1183
它不是 base64 编码的字符串,但我的代码和 golang 解码器说没问题:
s, err:= base64.URLEncoding.DecodeString("5b835b45b2de7748459a1183")
有什么方法可以确保给定的字符串是base64还是不是base64?或者我必须依赖其他一些工具,比如解码后检查路径?

最佳答案

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

关于go - 非 base64 字符串按原样处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63719644/

相关文章:

go - 字符串迭代编程

regex - 如何在我的 go 项目中修复此错误 - undefined : bson. RegEx

json - Go:解码来自 Neo4j 事务的结果

css - 我如何强制 CQ5.5 忽略 CSS data-uri-schemes?

Python从base64转换为二进制

go - 如何读取 ReverseProxy 的响应正文

windows - Windows 中的不稳定行为?

javascript - 将无符号整数数组快速转换为 base64

javascript:直接发送base64string进行打印,无需预览

haskell - Base64 规范编码