IO流读写中可能会出现乱码的原因:
①编码和解码规则不一致
②这个字符编码不支持某种语言(ex:中文)
避免出现乱码的方法:
1、编码 : String —> byte[]
String中有对应的方法:
①:byte[] getBytes() : 使用平台的默认字符集将此 String 编码为 byte 序列
②:byte[] getBytes(Charset charset) : 使用指定的字符编码来编码字符串
③:byte[] getBytes(String charsetName) : 使用指定的字符编码来编码字符串
2、解码 : byte[] —> String
String中有对应的构造方法:
①:String(byte[] bytes) : 通过使用平台的默认字符集解码指定的 byte 数组
②:String(byte[] bytes, Charset charset) : 使用指定的字符集来解码指定的byte数组
③:String(byte[] bytes, String charsetName) : 使用指定的字符集来解码指定的byte数组