我使用以下方法编码字符串
public String encrypt(String data)
{
encoded = data.getBytes();
String str_encoded = java.util.Arrays.toString(encoded);
System.out.println("encoded:" + java.util.Arrays.toString(encoded));
return str_encoded;
}
如何解码编码的字符串以取回原始字符串。
例如:" abc123"编码时将为[97, 98, 99, 49, 50, 51]
如何将[97, 98, 99, 49, 50, 51]
解码回" abc123"
我确信它很简单,但我无法弄清楚
答案 0 :(得分:1)
只需使用以下代码即可。创建一个byte[]
并形成字符串。
String decoded = new String(new byte[]{97, 98, 99, 49, 50, 51});
完整代码:
String[] bytes = str_encoded.substring(1, str_encoded.length() - 1).split(", ");
byte[] bytesArray = new byte[bytes.length];
for (int i = 0; i < bytesArray.length; i++) {
bytesArray[i] = Integer.valueOf(bytes[i]).byteValue();
}
String str_decoded = new String(bytesArray);
System.out.println(str_decoded);