计算机认识字节,不认识字符
编码:字符到字节,encode 解码:从字节到字符,decode
String s="爽"; 编码: byte[] data=s.getBytes(); //编码 System.out.println(data.length); //获得字节数 编码成其他字符集: data=s.getBytes("utf8");
解码: 需要:new String(bytes[] bytes,int offset,int length,String charsetName) 参数依次为:字节数组、从哪开始(索引)、解码长度、字符集模式
s=new String(data,0,data.length,"utf8") //将字节解码成utf8模式下的字符串
乱码: 1、字节数不够(解码时length长度不够) 2、字符集不统一