Java在BigInteger中存储String

时间:2012-06-14 13:40:49

标签: java string biginteger

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

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

似乎不是......

此外,我需要能够将它从BigInteger转换回String。如果我将String转换为BigInteger并返回它之后需要相同。

有没有人有想法如何做到这一点? 提前谢谢!

2 个答案:

答案 0 :(得分:6)

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

通过“数学运算”定义你的意思并编写一个类来执行它们。 BigInteger几乎肯定是错误的表示形式。

答案 1 :(得分:3)

这是确定性的:

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

你可以使用

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

我不能排除这个过程有某种用处,但如果你不确定,请不要犹豫,为什么要这样做。