非 base64 字符串按原样处理
Non-base64 string is treated like it is
美好的一天!
我有一个 base64 编码的 ID,其路径类似于“/some/path/ok”
L3NvbWUvcGF0aC9vaw==
当我尝试解码时 - 它应该是正常的。
有时我会在我的函数中输入一些错误的数据,例如:
5b835b45b2de7748459a1183
它不是base64编码的字符串,但我的代码和golang解码器说没问题:
s, err:= base64.URLEncoding.DecodeString("5b835b45b2de7748459a1183")
有什么方法可以确保给定的字符串是不是 base64?或者我必须依赖一些其他工具,比如解码后检查路径?
5b835b45b2de7748459a1183
是一个有效的 base64 字符串,所以你不能对它做任何事情。有一个输入数据,其base64编码形式就是这样。
这与 Go 或处理 base64 字符串无关,这很可能是生成此文本的源中的错误。这很可能是某些数据的十六进制表示(可选地进行其他转换)。如果源代码生成的不是 base64,则必须修复源代码,或者必须使用正确的解码算法(在这种情况下不是 base64)。
没有。检查字符串是否为 base64 的正确方法是使用 DecodeString
方法的错误,因为如果它不是 base64,它将失败。这也是做事的方法。
重要的是要注意该字符串可以是 base64 字符串并且没有您需要的信息(这里似乎就是这种情况)。在这种情况下,我建议您在使用结果之前对其进行清理(检查它是否有效 file/folder 就可以了)。
美好的一天!
我有一个 base64 编码的 ID,其路径类似于“/some/path/ok”
L3NvbWUvcGF0aC9vaw==
当我尝试解码时 - 它应该是正常的。
有时我会在我的函数中输入一些错误的数据,例如:
5b835b45b2de7748459a1183
它不是base64编码的字符串,但我的代码和golang解码器说没问题:
s, err:= base64.URLEncoding.DecodeString("5b835b45b2de7748459a1183")
有什么方法可以确保给定的字符串是不是 base64?或者我必须依赖一些其他工具,比如解码后检查路径?
5b835b45b2de7748459a1183
是一个有效的 base64 字符串,所以你不能对它做任何事情。有一个输入数据,其base64编码形式就是这样。
这与 Go 或处理 base64 字符串无关,这很可能是生成此文本的源中的错误。这很可能是某些数据的十六进制表示(可选地进行其他转换)。如果源代码生成的不是 base64,则必须修复源代码,或者必须使用正确的解码算法(在这种情况下不是 base64)。
没有。检查字符串是否为 base64 的正确方法是使用 DecodeString
方法的错误,因为如果它不是 base64,它将失败。这也是做事的方法。
重要的是要注意该字符串可以是 base64 字符串并且没有您需要的信息(这里似乎就是这种情况)。在这种情况下,我建议您在使用结果之前对其进行清理(检查它是否有效 file/folder 就可以了)。