我需要生成一个"随机"128字节密钥(此时随机强度并不重要).我在Javascript中使用以下代码执行此操作:
var buffer = "";
for(var i=0; i<128; i++)
{
buffer += String.fromCharCode(Math.round(Math.random()*255));
}
Run Code Online (Sandbox Code Playgroud)
但是,当我通过POST将此密钥发送到PHP脚本时,我发现我的密钥中的某些字符没有相同的编码!例如,当我在Javascript中输出ò的编码时,我得到254,但是相同的字符在PHP中的编码为195.
某些字符(如AZ,az和0-9)在Javascript和PHP中具有相同的编码.
要输出字符代码,我使用Javascript的.charCodeAt()方法和PHP的ord()函数.
我希望有人可以向我解释为什么字符编码不同.谢谢!