Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将长十六进制编码从java移植到javascript_Java_Javascript_Node.js_Encoding_Hex - Fatal编程技术网

将长十六进制编码从java移植到javascript

将长十六进制编码从java移植到javascript,java,javascript,node.js,encoding,hex,Java,Javascript,Node.js,Encoding,Hex,我想用与编码Java long相同的方式编码javascript数字类型或字符串 爪哇 javascript var toEncode = '1397378335821717182'; var encoded = //missing code, should be'13647c315b7adebe' in the end as well 如果要获得“13647c315b7adf00”,您可能需要一个javascript bignum库 这一个似乎是你想要的: 编辑:我链接的那个似乎不起作用

我想用与编码Java long相同的方式编码javascript数字类型或字符串

爪哇

javascript

var toEncode = '1397378335821717182';

var encoded = //missing code, should be'13647c315b7adebe' in the end as well

如果要获得“13647c315b7adf00”,您可能需要一个javascript bignum库

这一个似乎是你想要的:

编辑:我链接的那个似乎不起作用。仔细看一看是否有一个好的示例代码(另请参见),但使用一些简单的示例代码:

<script>
  var toEncode = str2bigInt('1397378335821717182', 10);
  document.write(bigInt2str(toEncode, 16).toLowerCase());
</script>

returns: 13647c315b7adebe

var toEncode=str2bigInt('13973783358217182',10);
write(bigInt2str(toEncode,16.toLowerCase());
退货:13647c315b7adebe
或者(至少范围更广):


var-toEncode=biginger.parse('139737833582177182');
document.write(toEncode.toString(16.toLowerCase());
退货:13647c315b7adebe
For node.js运行得非常好

BigDec> (new bigdecimal.BigInteger('1397378335821717182')).toString(16)
'13647c315b7adebe'

@Quentin的可能重复不是重复,他的数字不符合双精度,这样做他会失去精度。@forste。我建议再次使用第二个.ty进行更新!然而,我应该更清楚地表明,我需要node.js使用这个。我已经为这个问题提出了自己的答案this@forste哦,是的,我没看到那个标签。至少我们对这两个问题都有答案。:-)
<script type="text/javascript" src="biginteger.js"></script>
<script>
  var toEncode = BigInteger.parse('1397378335821717182');
  document.write(toEncode.toString(16).toLowerCase());
</script>

returns: 13647c315b7adebe
BigDec> (new bigdecimal.BigInteger('1397378335821717182')).toString(16)
'13647c315b7adebe'