我必须在BigInteger中存储一个字符串(非数字,可以包含任何UTF8字符),以便用它执行一些数学运算。我需要转换为确定性的
BigInteger mybigint = new BigInteger(mystring.getBytes());
似乎不是......
此外,我需要能够将它从BigInteger转换回String。如果我将String转换为BigInteger并返回它之后需要相同。
有没有人有想法如何做到这一点? 提前谢谢!
答案 0 :(得分:6)
不要这样做。从根本上说,您没有数字信息。不要假装它是数字信息。
通过“数学运算”定义你的意思并编写一个类来执行它们。 BigInteger
几乎肯定是错误的表示形式。
答案 1 :(得分:3)
这是确定性的:
BigInteger mybigint = new BigInteger(mystring.getBytes("UTF-8"));
你可以使用
还原它new String(mybigint.toByteArray(), "UTF-8");
我不能排除这个过程有某种用处,但如果你不确定,请不要犹豫,为什么要这样做。