ASCII只包含128个字符,所以编码最大到127。
C#在进行ASCII转码的时候,会把大于127的char值转成63,PHP如果不转码的话,会使用默认编码,一般是utf-8。
所以如果想要两者得到一样的值,就需要使两者编码值一致,举两个例子。
一是C#转码时使用UTF8
Byte[] bytes = Encoding.UTF8.GetBytes(mp);
二是PHP先对编码值进行检测编辑
function chk($ord){
if($ord>127)
return $ord=63;
else
return $ord;
}
$char="";
$char.=chr(chk(130));
$char.=chr(chk(120));
$char.=chr(chk(120));
$char.=chr(chk(130));
$char.=chr(chk(180));
$char.=chr(chk(190));
echo base64_encode($char)."
";