背景:在idea中,有的时候会出现乱码问题;这个时候可以通过idea右下角提供的转换编码功能来解决。
idea转换编码时的概念说明
![在这里输入图片标题 输入图片说明](https://static.oschina.net/uploads/img/201801/26191339_8dEj.png)
如上图所示:
1. reload的含义: 按照指定的编码(如GBK、UTF-8)来加载文件,这个时候文件的二进制文件没有发生任何变化,只是读取方式发生了变化;如将2个字节解析为一个字符变成将3个字节解析为一个字符。
2. convert的含义: 将A编码文件转换为B编码文件,这个时候文件的二进制内容是发生了变化。
如果一个文件使用的是GBK编码,在idea中通过UTF-8的方式加载的文件,就会出现乱码。这个时候可采用:先通过reload方式进行将编码格式变为GBK,这个时候看到的文件就不再是乱码;如果希望文件采用UTF-8编码,则再通过convert方式将文件转为UTF-8.(这个时候文件的字节流已经发生了变化)
UTF-8 和 GBK区别:
1. GBK的文字编码是双字节来表示的,即不论中、英文字符均使用双字节来表示,只不过为区分中文,将其最高位都定成1。
2. UTF-8编码则是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。对于英文字符较多的论坛则用UTF-8节省空间。
所以对于同一个中文文件,如果使用GBK,它所占用的空间比UTF-8要小一些。 大小关系为:1.5 * GBK = UTF-8。
|