base64编码然后解码失败
问题描述:
这里是base64
编码表情符号从我的android手机生成并保存到MySQL
当我尝试在浏览器中首先显示我需要检查字符串是否base64
编码然后我解码并打印它,但下面的代码无法base64编码然后解码失败
$mystring = "8J+YgPCfmInwn5iZ8J+YkPCflIfwn5Oi8J+OtfCfjqfwn5C18J+QiPCfpoTwn5CX8J+MjfCfl7vw\nn4+f8J+PofCfj4Himb/wn5uC8J+atA==\n";
if (base64_encode(base64_decode($mystring)) == $mystring) {
echo base64_decode($mystring);
} else {
echo $mystring;
}
,但如果我直接解码相同字符串,并将其打印的作品
echo base64_decode($mystring);
// output ♿
但是相同的代码工作了iOS手机产生的笑容。
$mystring = "8J+YgvCfkoHwn5iK8J+RqeKAjfCfkanigI3wn5Gn8J+ZiPCfpKPwn5mJ8J+QvPCfkLbwn5CT8J+MmeKaoe+4j/CfjY7wn42U8J+NlfCfpYPimr3vuI8=";
if(base64_encode(base64_decode($mystring)) == $mystring) {
echo base64_decode($mystring);
} else {
echo $mystring;
}
//output ⚡️⚽️
我不明白这有什么块的问题:
if(base64_encode(base64_decode($mystring)) == $mystring)
答
if(base64_encode(base64_decode($mystring)) == $mystring)
你不能比较这样两个字符串的内容。
使用strcmp()
函数。
此外,如果$ mystring是base64编码,则无法以此方式检查。
您将始终将字符串编码为true,然后对结果进行解码将始终传递原始字符串。
比较威尔只会告诉你,如果编码/解码的作品。
'但是下面的代码不能'你不告诉什么失败或出错。 – greenapps