关于编码格式的一点测试结果总结
1. 读取内容到内存中,是否会乱码和文件的编码格式无关。只和内容的编码格式有关。 如果写入的内容编码格式是gbk,读取时却使用utf-8进行解码,则会出现乱码。 文件的编码格式是gbk也好,utf-8也好,都不会影响。 文件的编码格式只会影响文本内容在文件中的显示。如果文件的编码格式和内容的编码格式不一致,则打开文件时会出现乱码。 2. 获取字符串的字节流byte[] (字节流:是Unicode编码的字符串,以指定编码格式(如utf-8)编码后,形式的byte数组) String.getBytes() // 作业内容:将内存中以Unicode编码的字符串转成某种固定的编码格式(charset)的字节流。 // charset使用文件的默认编码格式。如果当前文件的编码格式是utf-8,就使用utf-8编码格式。如果当前文件格式是gbk,就使用gbk编码格式。 // 如果文件的默认编码格式不被支持,则使用"ISO-8859-1"编码格式进行编码。 String.getBytes(charset) // 作业内容:将内存中以Unicode编码的字符串转成某种固定的编码格式(charset)的字节流。
一个简单图解(不一定准确)