小编sie*_*gen的帖子

Java将byte []转换为BigInteger

在Java中,我可以BigIntegerString这样的:

public static void main(String[] args) {
    String input = "banana";
    byte[] bytes = input.getBytes(StandardCharsets.UTF_8);
    BigInteger bigInteger = new BigInteger(bytes);
    System.out.println("bytes:      " + Arrays.toString(bytes));
    System.out.println("bigInteger: " + bigInteger);
}
Run Code Online (Sandbox Code Playgroud)

哪个会打印

bytes:      [98, 97, 110, 97, 110, 97]
bigInteger: 108170603228769
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用大整数库在JavaScript中获得相同的结果.但正如您所看到的,此代码返回不同的值:

var bigInt = require('big-integer');

function s(x) {
    return x.charCodeAt(0);
}

var bytes = "banana".split('').map(s);
var bigInteger = bigInt.fromArray(bytes);
console.log("bytes:      " + bytes);
console.log("bigInteger: " + bigInteger);
Run Code Online (Sandbox Code Playgroud)

输出:

bytes:      98,97,110,97,110,97
bigInteger: 10890897
Run Code Online (Sandbox Code Playgroud)

有没有办法通过JavaScript获得我在Java中获得的结果?如果数组的长度为32,那还可以吗?

javascript java arrays biginteger uint8array

5
推荐指数
1
解决办法
346
查看次数

标签 统计

arrays ×1

biginteger ×1

java ×1

javascript ×1

uint8array ×1