java io基础知识
一、char[]、String、byte[]转换
首先需要清楚JAVA中这3种类型的区别
byte是字节,byte[]是字节数组,是字符在计算机中的实际存储。字节如何转换成字符,要看用什么编码。如果用UTF-8编码的话,一个字节是不能转成一个中文字符的
char是字符,char[]是字符数组,其实也就是字符串。String本质上就是char[]。char[]和String之间的转换,不需要指定编码
从char[]转换成String
从String转换成char[]
可以看到,上面2种转换,都不涉及编码的问题
从byte[]转换成String
首先需要清楚JAVA中这3种类型的区别
byte是字节,byte[]是字节数组,是字符在计算机中的实际存储。字节如何转换成字符,要看用什么编码。如果用UTF-8编码的话,一个字节是不能转成一个中文字符的
char是字符,char[]是字符数组,其实也就是字符串。String本质上就是char[]。char[]和String之间的转换,不需要指定编码
从char[]转换成String
- char[] c = new char[] { 0x5c71,0x4456,0x1234 };
- String s = new String(c);
从String转换成char[]
- String s = "这是一个字符串";
- char[] c = s.toCharArray();
可以看到,上面2种转换,都不涉及编码的问题
从byte[]转换成String
- byte[] b = getBytes();// 某个方法返回了byte[]
- String s = new String(b, "UTF-8");