假设我想为数组node.js创建一个[-1, 255, 3, 4]缓冲区
var i = new Buffer([-1, 255, 3, 4])对于负数,它只需取两个补码并按原样存储。所以在这里:
console.log(i)
<Buffer ff ff 03 04>另外,
console.log(i.toJSON())
{ type: 'Buffer', data: [ 255, 255, 3, 4 ] }有办法区分负数和正数吗?
发布于 2016-01-08 11:04:23
正如阿马丹在评论中指出的,
在
Buffer中没有负数。Buffer中的每个值都是一个字节--一个无符号8位值.你认不出不存在的东西
从缓冲区读取数据时,有unsigned方法(如readUInt8())和signed方法(如readInt8() )。
> var i = new Buffer([-1, 255, 3, 4])
undefined
> i.readInt8(0)
-1
> i.readInt8(1)
-1
> i.readUInt8(1)
255
> i.readUInt8(0)
255https://stackoverflow.com/questions/34672741
复制相似问题