如何在JavaScript中将int数组强制转换为byte数组
实现方式
JavaScript 可通过 TypedArray 实现和你给出的Java代码完全对等的转换逻辑,具体如下:
1. 对齐Java byte逻辑的有符号字节数组(值范围 -128 ~ 127)
和Java的(byte)强转逻辑一致,自动截断高位保留低8位:
// 你的输入整数数组 const intArray = [2,-76,7,2,8,69,82,88,87,2,52,50]; // 写法1:循环赋值(和你写的Java代码逻辑完全对应) const bytArr = new Int8Array(intArray.length); for (let i = 0; i < intArray.length; i++) { bytArr[i] = intArray[i]; } // 写法2:更简洁的直接初始化,效果和上面完全一致 const bytArr = new Int8Array(intArray); // 如果需要转为普通JS数组,调用Array.from即可 const normalArr = Array.from(bytArr);
2. 无符号字节数组(值范围 0 ~ 255)
如果需要无符号格式,把上面代码里的Int8Array替换为Uint8Array即可。
内容的提问来源于stack exchange,提问作者LockieR
相关产品推荐
相关产品推荐

