在java中从字节数组转换为字符串并将字符串转换为字节数组
我有以下代码,我试图通过测试,但似乎无法理解Java世界中各种编码形式。
import java.util.Arrays;class Test {
static final byte[] A = { (byte)0x11, (byte)0x22, (byte)0x33, (byte)0x44, (byte)0x55, (byte)0x66, (byte)0x77, (byte)0x88, (byte)0x99, (byte)0x00, (byte)0xAA };
public static void main(String[] args) {
String s = new String(A);
byte[] b = s.getBytes();
if (Arrays.equals(A,b)) {
System.out.println("TEST PASSED!");
}
else {
System.out.println("TEST FAILED!");
}
}
}
我想我的问题是:将任意字节的字节数组转换为Java字符串,然后将同一Java
String转换为另一个字节数组的正确方法是什么,该字节数组将具有与原始字节相同的长度和相同的内容数组?
回答:
尝试特定的编码:
String s = new String(A, "ISO-8859-1");byte[] b = s.getBytes("ISO-8859-1");
ideone链接
以上是 在java中从字节数组转换为字符串并将字符串转换为字节数组 的全部内容, 来源链接: utcz.com/qa/425272.html