我有以下代码:
List<String> decryptedPasswordInPairs = new ArrayList<String>();
String A5 = "A5";
for (String oddPair : oddPairsInEncryptedPassword) {
List<Byte> sample = new ArrayList<>();
for (int i = 0; i < oddPair.length(); i++) {
byte x = (byte) (oddPair.charAt(i) ^ A5.charAt(i % A5.length()));
sample.add(x);
}
String result = sample.toString();
decryptedPasswordInPairs.add(result);
}
在此代码中,当我调试程序以检查值时,结果
显示为[0,7]
而不是07
结果
。
有没有办法将这个 Byte
的 List
转换为 String
而不会出现任何问题?
最佳答案
在此解决方案中,我收集 StringBuilder 中的字符并最后转换为字符串:
List<String> decryptedPasswordInPairs = new ArrayList<String>();
String A5 = "A5";
List<String> oddPairsInEncryptedPassword = new LinkedList<String>();
oddPairsInEncryptedPassword.add("A2");
for (String oddPair : oddPairsInEncryptedPassword) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < oddPair.length(); i++) {
byte x = (byte) (oddPair.charAt(i) ^ A5.charAt(i % A5.length()));
sb.append(""+x);
}
String result = sb.toString();
System.out.println(result);
decryptedPasswordInPairs.add(result);
}
关于java - 将 List<Byte> 转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38161159/