我试图用JavaScript重现下面的Python代码。你知道吗
import struct
val = struct.unpack(">L", "MACS")[0]
val
现在是1296122707
(与0x4d414353
相同)。对htk1
进行同样的尝试会得到1752460081
,与0x68746b31
相同。你知道吗
我试图把它带到JavaScript中,所以我开始学习并偶然发现了关于Python的文档:^{
因此,上述内容与:
int.from_bytes(b"MACS", "big")
但是我不能将它移植到JavaScript。我如何开始这样做,或者已经有了吗?你知道吗
我的尝试是:
function unpackL(fourCharCode) {
var buf = new ArrayBuffer(8);
var view = new DataView(buf);
view.setUint8(0, String.charCodeAt(fourCharCode[0]), true);
view.setUint8(2, String.charCodeAt(fourCharCode[1]), true);
view.setUint8(4, String.charCodeAt(fourCharCode[2]), true);
view.setUint8(6, String.charCodeAt(fourCharCode[3]), true);
return new Uint32Array(buf);
}
但是unpackL('htk1')
给了我Uint32Array [ 7602280, 3211371 ]
。你知道吗
下面是一个执行此操作的函数(如果字符串长度错误,则返回undefined):
相关问题 更多 >
编程相关推荐