字符串上的JavaScript位异或?

字符串上的JavaScript位异或?,javascript,encryption,xor,Javascript,Encryption,Xor,我正在将一个加密函数从PHP转换为JS PHP:$y和$z都是ASCII字符,所以$x本质上是一个ASCII字符 在JS中执行相同操作将导致$x=0 我试过: $x = String.fromCharCode(($y).charCodeAt(0).toString(2) ^ ($z).charCodeAt(0).toString(2)); 但是它会得到不同的结果。您不需要将其转换回字符串。按位运算符处理数字1^310与1^112与1^103相同 toString(2)转换为二进制字符串,但您

我正在将一个加密函数从PHP转换为JS

PHP:$y和$z都是ASCII字符,所以$x本质上是一个ASCII字符

在JS中执行相同操作将导致$x=0

我试过:

 $x = String.fromCharCode(($y).charCodeAt(0).toString(2) ^ ($z).charCodeAt(0).toString(2));

但是它会得到不同的结果。

您不需要将其转换回字符串。按位运算符处理数字<代码>1^310与
1^11
2与
1^10
3相同

toString(2)
转换为二进制字符串,但您需要处理数字类型

只需放下
toString(2)
部分,它就可以工作了

 $x = String.fromCharCode(($y).charCodeAt(0).toString(2) ^ ($z).charCodeAt(0).toString(2));
//this should work for single characters.
x = String.fromCharCode(y.charCodeAt(0) ^ z.charCodeAt(0));