关于编码格式的一点测试结果总结

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)的字节流。

一个简单图解(不一定准确)

原文地址:https://www.cnblogs.com/zj0208/p/9101444.html