3

我必须在 BigInteger 中存储一个字符串(非数字,可以包含任何 UTF8 字符)来执行一些数学运算。我需要确定性的转换

BigInteger mybigint = new BigInteger(mystring.getBytes());

好像不是……</p>

我还需要能够将它从 BigInteger 转换回 String。如果我将 String 转换为 BigInteger 并返回,那么之后它需要是相同的。

有谁知道如何做到这一点?先感谢您!

4

2 回答 2

6

不要这样做。从根本上说,您没有数字信息。不要假装它是数字信息。

定义“数学运算”的含义并编写一个类来执行它们。BigInteger几乎可以肯定这里是错误的表示。

于 2012-06-14T13:42:54.877 回答
3

这是确定性的:

BigInteger mybigint = new BigInteger(mystring.getBytes("UTF-8"));

您可以使用

new String(mybigint.toByteArray(), "UTF-8");

我不能排除此过程有某种用途,但如果您不确定,请毫不犹豫地提及您为什么这样做。

于 2012-06-14T13:44:41.443 回答