在 JS 中对两个长十六进制值执行按位运算的最有效方法是什么?

What's the most efficient way to execute a bitwise operation on two long hex values in JS?

我正在尝试对两个 128 字节的十六进制值执行 AND 运算。 类似于:

let toReturn = (parseInt(bytesA, 16) & parseInt(bytesB, 16)).toString(16);

似乎适用于不超过 0xfffffff 的值。除此之外,我开始得到不正确的值。

我考虑过逐个字节地迭代这两个值,但我的整体代码变得有点沉重,并且需要在一个循环中比较各种 128 字节的值 8 次,这是嵌套在另一个循环中(最多 50 次迭代),所有页面加载。

我希望为此找到更有效的解决方案。

使用BigInt:

let toReturn = (BigInt('0x' + bytesA) & BigInt('0x' + bytesB)).toString(16);