通过位操作将Java代码从Java转换为JavaScript代码
我正在为Java脚本重新编写一个Java代码,我进入了一个不一样的位操作, 以下是原始Java代码:
ByteArrayOutputStream bos = new ByteArrayOutputStream();
bos.reset();
short x = 451;
bos.write(x & 0xFF);
byte[] bytesArr = bos.toByteArray();
这给了我一个单元格大小的数组:[-61]
这是JavaScript代码:
var bos = [];
var x = 451;
bos.push(x & 0xFF);
这给了我一个单元大小的数组:[195]
除了451之外,我还有几个数字,而且转换对它们很好,我还缺少什么
# 1 楼答案
JavaScript没有固定大小的整数,只有一个数字类型,因此必须使用逐位运算符(自动将其视为32位整数)并对8位进行符号扩展
或者更好的方法是使用类型化数组(不过您需要先知道数组的大小)