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