【发布时间】:2018-04-21 00:41:01
【问题描述】:
我需要为 JavaScript 制作简单的 C# BitConverter。我做了简单的 BitConverter
class BitConverter{
constructor(){}
GetBytes(int){
var b = new Buffer(8)
b[0] = int;
b[1] = int >> 8
b[2] = int >> 16
b[3] = int >> 24
return b
}
ToInt(buffer){
return buffer[0] | buffer[1]<<8 | buffer[2] << 16 | buffer[3] << 24
}
}
GetBytes 给我的输出与 c# 相同,但 toInt 不是这样...... toInt 不要把我放入 GetBytes 的内容还给我(更大的数字) 示例:
var a = new BitConverter()
var e = 285128170;
var c =a.GetBytes(e);
var v = a.ToInt(c);
console.log(e) // 2851281703
console.log(c) // <Buffer 27 1b f3 a9 00 00 00 00>
console.log(v) //-1443685593
【问题讨论】:
-
嗯。在节点中尝试了这个,它似乎对我来说很好。你能举例说明你输入的数字和返回的数字吗?
-
data : GetBytes(2851281703) //
ToInt(a) // -1443685593
标签: javascript node.js bitconverter