package io.p7.encoding;import java.io.BufferedWriter;import java.io.UnsupportedEncodingException;public class EncodeDemo {public static void main(String[] args) throws UnsupportedEncodingException {/* * 字串--->位元組數組:編碼 * 位元組數組--->字串:解碼 * * 你好:gbk:-60,-29,-70,-61, * * 你好:utf-8 :-28,-67,-96,-27,-91,-67, * * 如果你編錯了 解不出來 * 如果你編對了 解錯了有可能還有救 * (如果你對應了另一個碼錶中的文字 可以將這個文字在編碼成碼 然後在將這個碼 找到正確的碼錶 解碼 * 但如果 找錯了碼錶並且 這麼碼錶中 沒有該文字對應的編碼 則會用特殊編碼錶示該文字 該特殊碼無法在解碼成正確文字 即使找到正確碼錶) */ String str="你好";byte[]buf=str.getBytes("gbk");String s1=new String(buf,"utf-8");System.out.println("s1="+s1);byte[]buf2=s1.getBytes("utf-8");String s2=new String(buf2,"gbk");System.out.println("s2="+s2);//encodeDemo();}private static void ncodeDemo() throws UnsupportedEncodingException {String str="你好";//編碼byte[]buf=str.getBytes("utf-8");//printBytes(buf);//解碼String s1=new String(buf,"utf-8");System.out.println("s1="+s1);}private static void printBytes(byte[] buf) {for(byte b:buf) {System.out.print(b+",");}}}