import java.util.Arrays; public class StringTest { public static void main(String[] args) throws Exception { // String与字符数组之间的转换 // String --> char[]:调用String的toCharArray() String str1 = "abc123"; char[] charArray = str1.toCharArray(); for (int i = 0; i < charArray.length; i++) { System.out.print(charArray[i] + " "); } System.out.println(); // char[] --> String:调用String的构造器 char[] arr = new char[] {'h','e','l','l','o'}; String str2 = new String(arr); System.out.println(str2); // String与字节数组之间的转换 /* * 编码:字符串 --> 字节(看得懂 --> 看不懂的二进制数据) * 解码:编码的逆过程,字节 --> 字符串(看不懂的二进制数据 --> 看得懂) */ // String --> char[]:调用String的getBytes() String str3 = "abc123中国"; byte[] bytes1 = str3.getBytes();// 使用默认的字符集,进行编码 System.out.println(Arrays.toString(bytes1)); byte[] bytes2 = str3.getBytes("utf-8");// 使用utf-8字符集进行编码 System.out.println(Arrays.toString(bytes2)); String str4 = new String(bytes1);// 使用默认的字符集,进行解码 System.out.println(str4); String str5 = new String(bytes2); System.out.println(str5);// 出现乱码。原因:编码集和解码集不一致! String str6 = new String(bytes2,"utf-8");// 解决方法 System.out.println(str6); } }
标签:字符,String,--,System,char,println,字节,out From: https://www.cnblogs.com/lxh-daniel/p/16708376.html