为了账号安全,请及时绑定邮箱和手机立即绑定

使用nodejs将表单十六进制缓冲区转换为int

使用nodejs将表单十六进制缓冲区转换为int

慕容708150 2023-02-24 16:42:41
我在 Node js 中有一个十六进制缓冲区,如下所示:buffer <00 E0>我需要使用小字节序转换为 int。所以我会读 E0 00 -> 57344目前我使用这种方法:var str = "0x" + buffer [i] .toString ('16 '). toString + buffer [i-1] .toString ('16'). toString to convert to stringvar 结果 = parseInt (str)。这种方法有效,但有时我会收到这样的错误:buffer [0] = 00 但我收到 0 而不是 00 或 1 而不是 01 或 10,有没有另一种方法来获得这个转换或解决这个问题?谢谢
查看完整描述

1 回答

?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

考虑使用Buffer.readInt*LE 或 Buffer.readUInt*LE方法(* 代表整数大小,LE 代表小端)。以您的代码为例,您可以使用Buffer.readIntLE


Buffer.from([ 0x00, 0xe0]).readUIntLE(0, 2)

如果您有可变缓冲区大小:

var buffer = Buffer.from(bytes);
var result = buffer.readUIntLE(0, bytes.length) // assumes bytes.length is even


查看完整回答
反对 回复 2023-02-24
  • 1 回答
  • 0 关注
  • 97 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号