echo base64_decode("http://www.domain.com/en/messages/list?all=1");
这给出了结果:
†Ыiяь0БЪ&j)ЬўoЮџщћІЖ zПеЉЛZ–]
如何检查string
是否为base64_encoded
?
如果它不是有效的base64编码字符串,它不应该返回false
吗?
我有一些urls base64_encoded来自电子邮件和一些简单的网址。
答案 0 :(得分:2)
对于所有输入,自动检测它们是否打算成为其他东西的base64编码版本在数学上是不可行的。
您显示的输入是有效 base64数据,无论您是否打算以这种方式使用它。
您可以通过将第二个参数设置为TRUE
来略微缓解某些事情,以便输入中的非base64字母字符会导致错误。但是你仍然可以输入只有在base64字母表中找到的字符,而这些字符最初并不是按照这种方式解释的。没有一些元数据,根本无法确定。
答案 1 :(得分:0)
尝试base64_decode("http://www.domain.com/en/messages/list?all=1", TRUE);
,TRUE
将其置于“严格模式”。这意味着如果字符串包含无效字符,它将返回FALSE
。
答案 2 :(得分:0)
base64_encode返回false的唯一时间是输入包含不在base64字母表中的字符。