如何将四字符数组转换为整数?
最佳答案
您正在尝试将这些字符转换为 ASCII 字符代码并将这些代码用作字节值。这可以使用 charCodeAt
来完成。例如:
var str = "x7={";
var result = ( str.charCodeAt(0) << 24 )
+ ( str.charCodeAt(1) << 16 )
+ ( str.charCodeAt(2) << 8 )
+ ( str.charCodeAt(3) );
这将按预期返回 2016886139。
但是,请记住,与 C++ 不同,JavaScript 不一定使用单字节、256 个字符集。例如,'€'.charCodeAt(0)
返回 8364,远远超出等效 C++ 程序所允许的最大值 256。因此,任何超出 0-255 范围的字符都会导致上述代码运行异常。
使用 Unicode,您可以将上面的内容表示为“砸㵻”。
关于JavaScript - 将四字符数组转换为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4657543/