String 與 byte[]之間的轉換


String 與 byte[]之間的轉換

public class StringTest1 {

   /*
   String 與 byte[]之間的轉換
   編碼 String --> byte[]:調用String的getBytes()
   解碼 byte[] --> String:調用String的構造方法

   說明:解碼時,要求解碼使用的字符集必須與編碼使用的字符集一致,否則會出現亂碼
    */
   @Test
   public void test() throws UnsupportedEncodingException{
       String s1 = "abc123中國";
       byte[] bytes = s1.getBytes();//使用默認的字符集進行轉換
       System.out.println(Arrays.toString(bytes));

       byte[] gbks = s1.getBytes("gbk");//使用gbk字符集進行編碼

       System.out.println(Arrays.toString(gbks));

       String s2 = new String(bytes);//使用默認的字符集進行解碼
       System.out.println(s2);

       String s3 = new String(gbks);
       System.out.println(s3);//出現亂碼,原因:編碼集和解碼集不一致

       String s4 = new String(gbks, "gbk");
       System.out.println(s4);//沒有出現亂碼,原因:編碼集和解碼集一致
  }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM