【发布时间】:2017-05-29 07:28:02
【问题描述】:
我制作了一个 Java 程序,它使用 Java 的 BigInteger 类为我提供所需的输出。
String key = "253D3FB468A0E24677C28A624BE0F939";
byte[] array = new BigInteger(key, 16).toByteArray();
System.out.println(Arrays.toString(array));
输出如下:
[37、61、63、-76、104、-96、-30、70、119、-62、-118、98、75、-32、-7、57]
尝试使用 JavaScript 做同样的事情。使用了 Big Int 库:https://github.com/peterolson/BigInteger.js 因为十六进制值太长。
var q = new bigInt("253D3FB468A0E24677C28A624BE0F939", 16);
console.log(q.toString());
var out = q.toString();
var bytes = [];
for (var i = 0; i < out.length; ++i) {
var code = out.charCodeAt(i);
bytes = bytes.concat([code]);
}
console.log(bytes);
字节 = [52, 57, 52, 57, 57, 52, 53, 56, 48, 51, 55, 54, 54, 55, 55, 51, 50, 49, 49, 50, 56, 56, 51、55、53、48、53、50、54、55、57、52、49、51、53、56、54、53]
如何使用 JavaScript 获得相同的 Java 输出?非常感谢
【问题讨论】:
标签: javascript java arrays hex byte