我解密了一个数据并获得了一个BigInt,当我尝试将其转换为字符串时,我得到了一些有线字符。
获取BigInteger的代码
BigInteger dec = process.Decrypt(sec);
获取ByteArray的代码
byte testBy[] = dec.toByteArray();
转换为字符串的代码
String ss = new String(testBy);
System.out.println(ss);
我也试过这段代码
String ss = new String(testBy);
System.out.println(ss, "UTF8");
我收到了这个输出
=^ö½ß‡k+Éæ‚ûŽ3B‚+…Òæ?&¶?kÛUô—c
在这里帮帮我..
答案 0 :(得分:15)
BigInteger有一个toString()
方法,它给出了值的十进制字符串表示。
答案 1 :(得分:1)
对System.out.println(dec)
的调用应正确打印dec
的十进制表示。
因此,请确保BigInteger dec = process.Decrypt(sec)
产生预期结果。
答案 2 :(得分:0)
toString()
方法将BigInteger转换为String.Actually它会覆盖Object toString()方法。或者直接将BigInteger对象传递给System.out.println(),因为println bydefault接受Object.toString()。