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);//没有出现乱码,原因:编码集和解码集一致
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/106536.html