字符串的编码格式转换
说明
使用jdk8;开发工具是STS,默认的编码格式是UTF-8
主要的思路就是先将字符串正常化,然后就可以按照指定编码进行编码解码
本次主要是UTF-8和GBK之间的相互转换
字符串间的转换
byte[] bytes = "你好".getBytes();//默认使用的是UTF-8编码
String str = new String(bytes,"UTF-8");
System.out.println(new String(str.getBytes("GBK"),"GBK"));
GBK文件转换为UTF-8文件
byte[] readAllBytes = Files.readAllBytes(Paths.get(FILE_PATH+"gbk.xml")); //以字节流方式读取文件
String str = new String(readAllBytes,"GBK");
System.out.println(str);
System.out.println("===================");
String utf8Str = new String(str.getBytes("UTF-8"),"UTF-8");
Files.write(Paths.get(FILE_PATH + "gbk_write.xml"), utf8Str.getBytes("UTF-8"));
System.out.println(new String(str.getBytes("UTF-8"),"UTF-8"));
UTF-8文件转换为GBK文件
//utf8.xml是utf-8文件编码
byte[] readAllBytes = Files.readAllBytes(Paths.get(FILE_PATH + "utf8.xml"));
String str = new String(readAllBytes,"UTF-8");
System.out.println(str);
System.out.println("==============================");
String gbkStr = new String(str.getBytes("GBK"),"GBK");
Files.write(Paths.get(FILE_PATH + "utf8_write.xml"), str.getBytes("GBK"));
System.out.println(new String(str.getBytes("GBK"),"GBK"));