我正在将 byte[] 数组转换为 string 。然后将字符串转换回 byte[] 数组。然后检查两个数组是否相等 - 我知道它们不相等:
byte[] ciphertext2=c.doFinal(username.getBytes("utf-8"));
//JUST CHECKING IGNORE
String qaz=new String(ciphertext2,"utf-8");
//qaz=qaz+"1";
System.out.println("just chekcing------------------------"+qaz);
byte[] ciphertext3=qaz.getBytes("utf-8");
if(Arrays.equals(ciphertext2,ciphertext3))
{
System.out.println("just chekcing they are equal------------------------");
}
else
System.out.println("just chekcing they are not equal------------------------");<br>
输出 :
just chekcing they are not equal--------------------
为什么它不起作用?
编辑
它在使用 Java 的 Base64 时工作得很好。但是为什么直接将字节转换为字符串时它不起作用?当您将字符串转换为字节数组时实际发生了什么,反之亦然?