【发布时间】:2013-07-01 15:19:57
【问题描述】:
假设我有一个String,我们称之为foo。这个String可以包含任何值,如字母、数字、特殊字符、UTF-8特殊字符,如á等。例如,这可能是一个真实的值:
"Érdekes szöveget írtam a tegnap, 84 ember olvasta."
我想有以下两种方法:
public BigInteger toBigInteger(String foo)
{
//Returns a BigInteger value that can be associated with foo
}
public String fromBigInteger(BigInteger bar)
{
//Returns a String value that can be associated with bar
}
然后:
String foo = "Érdekes szöveget írtam a tegnap, 84 ember olvasta.";
System.out.println(fromBigInteger(toBigInteger(foo)));
//Output should be: "Érdekes szöveget írtam a tegnap, 84 ember olvasta."
我怎样才能做到这一点? 谢谢
【问题讨论】:
-
您为什么要为此使用
BigInteger?这似乎是一种非常不自然的目标数据类型。 -
我有一个加密和解密一个大数字的算法,表示为一个 BigInteger。事实上,要加密或解密的数字实际上是一个文本消息。因此,在高层次上,我打算使用字符串作为输入并获取该字符串的加密版本。之后,在解密时,我打算使用加密的消息并将其解密为另一个字符串。在低级别我使用数字,在高级我使用字符串
-
最好让你的加密代码与
byte[]一起工作,这是正常的方法。将各种数据类型转换为任意二进制数据是一种常见操作 - 将它们转换为 BigInteger 肯定不是。 -
我正在对这些数字进行操作,所以我应该实现字节数组之间的操作,例如它们的乘积、总和等。这将涉及很多方法的实现。我使用 BigInteger 是因为所有这些操作都已实现。
-
投反对票的人,你能告诉我为什么你认为我的问题没有帮助吗?您认为我的方法有什么问题?我应该怎么做而不是我目前的想法?
标签: java string biginteger type-conversion