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

标签 java javascript node.js encoding hex

我想以与编码 Java long 相同的方式对 javascript 数字类型或字符串进行编码。

java

long toEncode = 1397378335821717182L;

String encoded = Long.toHexString(toEncode); //"13647c315b7adebe"

JavaScript

var toEncode = '1397378335821717182';

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

正在做https://stackoverflow.com/a/57805/1052539我得到“13647c315b7adf00”

最佳答案

您可能需要一个 javascript bignum 库。

这似乎符合您的要求: http://www-cs-students.stanford.edu/~tjw/jsbn/

编辑:我链接的那个似乎不起作用。四处寻找一个不错的(另请参阅 https://stackoverflow.com/questions/744099/javascript-bigdecimal-library ),但使用 another google hit ,一些简单的示例代码是:

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

returns: 13647c315b7adebe

或者使用 this library (至少,范围更好):

<script type="text/javascript" src="biginteger.js"></script>
<script>
  var toEncode = BigInteger.parse('1397378335821717182');
  document.write(toEncode.toString(16).toLowerCase());
</script>

returns: 13647c315b7adebe

关于java - 将长十六进制编码从 java 移植到 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9889283/

相关文章:

javascript - 您可以从另一台计算机上的命令行 js 脚本连接到正在运行的 Node JS 服务器吗?

java - 使用 fxml 在 JavaFX 中显示图像

java - Spring捕获所有响应类型

java - Google DataStore - 批量保存争用过多

javascript - 使用 Javascript/Jquery 将 div 内容导出到 Excel

javascript - 与自定义路由 react (在 Symfony 后端)

java - 在检查用户输入的字母时避免 26 if/elseif/else 语句

javascript - 不允许在 Angular 8 中离线使用 PWA

javascript - Nest.js - 请求实体太大 PayloadTooLargeError : request entity too large

node.js - Docker + Webpack (Dev Server) + Yarnpkg 不完整的构建