繁体   English   中英

JavaScript - 字符串上的按位异或?

[英]JavaScript - Bitwise XOR on strings?

我正在将加密函数从PHP翻译成JS。

PHP :( $ y和$ z都是ASCII字符,所以$ x本质上是一个ASCII奇怪的。)

 $x = ($y ^ $z);

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

我试过了:

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

但它得到了不同的结果。

您无需将其转换回字符串。 按位运算符处理数字。 1 ^ 3 101 ^ 11 2相同, 1 ^ 10 3相同。

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

toString(2)转换为二进制String ,但您想要处理Number类型。

只需删除toString(2)部分即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM