乱码的原因和可逆性

一: 乱码原因

        乱码产生的根源一般情况下可以归结为三方面即:1:编码引起的乱码、2: 解码引起的乱码以及3: 缺少某种字体库引起的乱码(这种情况需要用户安装对应的字体库),其中大部分乱码问题是由不合适的解码方式造成的
 

乱码的原因和可逆性_第1张图片

二: 乱码可逆情况

       1: 其中缺少字体,只需要安装对应的字体库即可解决乱码,比如Windows系统在C:'WindowsIFonts目录下会有安装好的字体库列表。安装字体库比较简单,下载后解压,然后复制到对应系统的Fonts目录下。
       2: 解码方式和编码方式不一致的情况,只需要让解码方式和编码方式一致即可让乱码恢复。

三: 乱码不可逆情况

       GBK编码不支持这几个字符"吉",如果再一个GBK编码的文件中,写入"吉"4"这个字符,那么他们就会变成??, 对应的码值是3E,这样的情况就没有办法恢复。因为"吉"的本来的码值变成了两个3E(即两个问号),无论如何也不能恢复过来了。
 

你可能感兴趣的:(Java干货,编码,乱码,编码学,java)