1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
String slogn = "极简主义";
        
byte[] bytes = slogn.getBytes("GBK");// 编码:字符串变成字节数组 输入 参数(编码表)
System.out.println(Arrays.toString(bytes));// 打印 数组变成字符串
String s1 = new String(bytes, "ISO-8859-1");// 解码:字节数组变成字符串,String参数(数组,编码表) 输出
System.out.println("s1=" + s1);
        
System.out.println(java.nio.charset.Charset.forName("ISO-8859-1").newEncoder().canEncode(s1));
//判断是否可以编码
if (java.nio.charset.Charset.forName("ISO-8859-1").newEncoder().canEncode(s1)) {
           // 对s1进行ISO-8859-1编码
           byte[] bytes2 = s1.getBytes("ISO-8859-1");// 拿乱码的字符串重新编码成字节数组,输入 参数(编码表)
           System.out.println(Arrays.toString(bytes2));// 打印 数组变成字符串
           String s2 = new String(bytes2, "GBK");// 解码:字节数组变成字符串,String参数(数组,编码表) 输出
           System.out.println("s2=" + s2);
}<br><br>
结果:
[-68, -85, -68, -14, -42, -9, -46, -27]
s1=¼«¼òÖ÷Òå
true
[-68, -85, -68, -14, -42, -9, -46, -27]
s2=极简主义