Java 根据ASCII将BigInteger转换为字符串
是否有一种方法可以根据ASCII表将一系列整数转换为字符串。我想获取字符串的ASCII值并将其转换回字符串。比如说,Java 根据ASCII将BigInteger转换为字符串,java,string,integer,ascii,Java,String,Integer,Ascii,是否有一种方法可以根据ASCII表将一系列整数转换为字符串。我想获取字符串的ASCII值并将其转换回字符串。比如说, 97098097=> "aba" 我真的需要一种有效的方法来获取整数,并根据其ASCII值将其转换为字符串。此方法还必须考虑以下事实:当字符串“aba”的ASCII值为970909097时,'9'前面没有零,因为'a'的ASCII值为097,而字符串“dee”的ASCII值为100101101。这意味着并非每个数字都有一个ASCII值,该值的位数是三的倍数 如果您对我要做
97098097=> "aba"
我真的需要一种有效的方法来获取整数,并根据其ASCII值将其转换为字符串。此方法还必须考虑以下事实:当字符串“aba”
的ASCII值为970909097
时,'9'
前面没有零,因为'a'
的ASCII值为097
,而字符串“dee”
的ASCII值为100101101
。这意味着并非每个数字都有一个ASCII值,该值的位数是三的倍数
如果您对我要做的事情有任何误解,请告诉我。首先,我将在您的代码中创建某种查找表,其中包含所有ascii值及其等效字符串。然后取大整数并将其转换为字符串。然后对bigint字符串的长度进行mod of 3,以确定是否需要在前面添加1、2或不添加0。然后只需从数字前面抓取每3个整数,将其与查找表进行比较,并将相应的值附加到结果字符串中 例如: 给定
97098097
您可以将其转换为:“97098097”
然后你用3做一个mod,得到一个值1,所以需要加上0
附加1零:“097098097”
然后从前面每3个位置抓取一次,并与查找表进行比较:
097->a
,所以result+=“a”
098->b
,所以result+=“b”
097->a
,所以result+=“a”
结果是“aba”不需要查找表
while (string.length() % 3 != 0)
{
string = '0' + string;
}
String result = "";
for (int i = 0; i < string.length(); i += 3)
{
result += (char)(Integer.parseInt(string.substring(i, i + 3)));
}
while(string.length()%3!=0)
{
字符串='0'+字符串;
}
字符串结果=”;
对于(int i=0;i