字符串是 64 位编码的吗?

Posted

技术标签:

【中文标题】字符串是 64 位编码的吗?【英文标题】:Is string base 64 encoded? 【发布时间】:2011-03-30 20:19:26 【问题描述】:

如何判断字符串是否为base64_encode()函数编码的数据?

有可能吗?

【问题讨论】:

如果您根本不需要这样的检测会好很多。许多有经验的程序员可以没有它,我相信你可以。 另见***.com/questions/475074 @Gumbo:我没有添加 [php5] 标签——我的编辑提交时间比你提交的要长。我现在已经删除了。 【参考方案1】:

尝试严格按照 Base64 字母对其进行解码。第二个参数允许您强制执行此严格检查;通过省略它,解码函数在解码之前简单地去除非法字符:

if (base64_decode($str, true) === false)

    echo 'Not a Base64-encoded string';

【讨论】:

【参考方案2】:

试试这个:

if(base64_encode(base64_decode($img, true)) === $img)
   echo 'is a Base64-encoded string' ;

【讨论】:

以上是关于字符串是 64 位编码的吗?的主要内容,如果未能解决你的问题,请参考以下文章

浏览器端将语音转换为URL格式的字符串(base64 位编码)

java字符串 64位编码

java中一个字符是几个字节?字符和字节是同等的吗?

UUID不是128位长的吗,怎么生成的都是36个字符的字符串?

Base64编码详解

Java--位字节字符字符编码数据存储单位 & 电脑的32位和64位的区别是什么呢