我正在尝试使用bigInteger.js库以160位整数进行操作,但我想以十六进制格式表示这些内容,以便可以将其传输并用作ID。

var git_sha1 = require('git-sha1');
var bigInt = require("big-integer");

var uuid = git_sha1((~~(Math.random() * 1e9)).toString(36) + Date.now());
console.log('in hex \t', uuid); // See the uuid I have
console.log('in dec \t', bigInt(uuid, 16).toString()); // convert it to bigInt and then represent it as a string
console.log('to hex \t', bigInt(uuid, 16).toString(16)); // try to convert it back to hex


这是我的输出:

in hex   4044654fce69424a651af2825b37124c25094658
in dec   366900685503779409298642816707647664013657589336
to hex   366900685503779409298642816707647664013657589336


我需要该to hexin hex相同。有什么建议么?谢谢!

最佳答案

这是通过https://github.com/peterolson/BigInteger.js/pull/18的PR修复的

关于javascript - 将以字符串形式表示的十进制数转换为仍以字符串形式表示的十六进制格式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26258377/

10-16 20:52