字符集与编码方式测试理解
字符集跟编码方式是两个不同的概念,大体:字符集是文字的集合,编码方式是文字转换成具体二进制的规则
问题:
一个文件用GBK编码,写了中文字符集
那么UTF-8使用它的时候,需要注意什么
一个有意思的小测试
在src下面放置两个文件,原始的文件
back那个代码设置为utf-8编码 下面的java代码也utf-8编码,gbk-utf.txt那个文件设置为GBK编码,随便打点汉字
public class IOCharsetConvert {public static void main(String[] args) throws Exception {//为了方便测试,此处用绝对路径,好修改文件编码String path="D:\\springdemo1.0\\src\\main\\java\";String fileNamePrimitive=path+"gbk-utf8.txt";List<String> list=read(fileNamePrimitive, "GBK");BackFile(path+"gbk-utf8-back.txt", list);}private static List<String> read(String fileName,String convertCharSet) throws Exception{BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(fileName),convertCharSet));List<String> sbuffer=new ArrayList<String>();String str=null;while((str=br.readLine()) != null){sbuffer.add(str);System.out.println("test-->>"+str);}br.close();return sbuffer;}public static void BackFile(String backFileName,List<String> strbuffer) throws IOException{BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(backFileName)));for(String str:strbuffer){bw.write(str);}bw.flush();bw.close();}}