如何将 BigInteger 转换为固定长度的 Hex?
How to convert BigInteger to Hex of fixed length?
BigInteger.toString(16) 可以完成工作,但有时十六进制的字节数会有所不同。我每次都需要恰好 512 字节的十六进制。我也尝试过 apache 的 Hex 和 DataTypeConverter 等等。但是 none 保证了这种一致性。是否有任何其他 Java 库可用于从给定的 BigInteger 生成固定长度的十六进制?
PS:我在发布前搜索了 Whosebug,但没有发现任何关于固定长度十六进制问题的讨论。
如评论中所述,使用String s = String.format("%0512x", BigInteger.valueOf(theNumber))
Formatter 确实支持 BigInteger:请参阅其文档 here。
BigInteger.toString(16) 可以完成工作,但有时十六进制的字节数会有所不同。我每次都需要恰好 512 字节的十六进制。我也尝试过 apache 的 Hex 和 DataTypeConverter 等等。但是 none 保证了这种一致性。是否有任何其他 Java 库可用于从给定的 BigInteger 生成固定长度的十六进制?
PS:我在发布前搜索了 Whosebug,但没有发现任何关于固定长度十六进制问题的讨论。
如评论中所述,使用String s = String.format("%0512x", BigInteger.valueOf(theNumber))
Formatter 确实支持 BigInteger:请参阅其文档 here。