首先要明白char和byte的区别 char是字符,字符就有自己的编码方式 byte是字节,它是二进制,没有编码方式 因此: String test = new String(ch); System.out.println(test.length());//这里一定是2,因为字符串就是由字符组成的,这里有2个字符,所以长度是2 byte[] b = test.getBytes();//但是,这里是按照默认的编码方式,把字符串编码成字节数组,默认的编码方式跟os相关,同一个字节数组在不同的编码方式下面表示的字符是不一样的!!!!! 因此:byte[] b = test.getBytes();这种方式是不推荐使用的! 正确的用法是:byte[] b = test.getBytes(“GBK”);在参数指定按照哪一种编码方式把字符串编码成字节数组
char是字符,字符就有自己的编码方式
byte是字节,它是二进制,没有编码方式
因此:
String test = new String(ch);
System.out.println(test.length());//这里一定是2,因为字符串就是由字符组成的,这里有2个字符,所以长度是2
byte[] b = test.getBytes();//但是,这里是按照默认的编码方式,把字符串编码成字节数组,默认的编码方式跟os相关,同一个字节数组在不同的编码方式下面表示的字符是不一样的!!!!!
因此:byte[] b = test.getBytes();这种方式是不推荐使用的!
正确的用法是:byte[] b = test.getBytes(“GBK”);在参数指定按照哪一种编码方式把字符串编码成字节数组