在开始之前:是的,我已经在此处和其他地方检查了有关此主题的其他问题和答案。
我发现了一个示例字符串,.Net 将对其进行 Base64 解码,即使它实际上并未进行 Base64 编码。这是示例:
Rhinocort 水性 64 微克/剂鼻喷雾剂
.Net 方法 Convert.FromBase64String 在解码此字符串时不会引发异常,因此我的 IsBase64Encoded 方法很高兴为此字符串返回 true。
有趣的是,如果我使用 cygwin base64 -d 命令并使用此字符串作为输入,则会失败并显示消息输入无效.
更有趣的是,我认为属于这个可执行文件的源代码(http://libb64.sourceforge.net/)“解码”这个相同的字符串,其结果与我从 .Net Convert.FromBase64String 获得的结果相同。我会继续寻找,希望能在其他地方找到线索,但现在我被难住了。
有任何想法吗?
有一个稍微好一点的解决方案,它还检查输入字符串的长度。
我建议你一开始就检查一下。如果输入为 null 或空则返回false
.
http://www.codeproject.com/Questions/177808/How-to-define-if-a-string-is-Base-decoded-or
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)