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); }
結果:
[-68, -85, -68, -14, -42, -9, -46, -27] s1=¼«¼òÖ÷Òå true [-68, -85, -68, -14, -42, -9, -46, -27] s2=極簡主義