总结以下几点:
java中字符以unicode形式存在,每个字符大小为2个字节
jvm中字符以unicode形式保存,当字符从jvm中移到外部系统,如文件时,就发生了编码转换,使用具体的编码方案。
string.getbytes(encoding),new string(bytes[],encoding),根据指定的编码格式,完成字符与字节的转换,不指定编码时,jvm采用系统默认的编码格式,这里容易出现乱码。
java的i/o系统中能够指定转换编码的地方,也就是在字符与字节转换的地方,那就是是inputstremreader与outputstreamwriter。这两个类是字节流和字符流的适配器类,它们承担编码转换的任务。