疑难杂症_IDEA转换文件编码格式、Reload与Convert

IDEA修改文件编码格式

点击右下角,选择目标编码格式

在这里插入图片描述

点击后会弹出如下窗口,点击Reload

在这里插入图片描述

中文乱码情况解决

在这里插入图片描述

Reload与Convert

在上面的步骤中,弹出窗口有两个选项,一个是Reload,一个是Convert,如果点击的是Convert,则可能出现乱码发生了一些变化,但并没有解决的情况——

在这里插入图片描述

而且之后无论如何切换,乱码都不会再发生变化,即使我们此时推出IDEA,从文件夹中尝试更改文件的编码格式,乱码都会保持下去,无法恢复原样

原因如下:

首先:

  • Reload 表示使用新编码重新加载,新编码不会保存到文件中,重新打开此文件,旧编码是什么依旧还是什么。
  • Convert 表示使用新编码进行转换,新编码会保存到文件中,重新打开此文件,新编码是什么则是什么。

而UTF-8与GBK的编码规则是不同的:

  • UTF-8 可变长字符编码,是unicode码的具体实现,UTF-8用1到6个字节编码Unicode字符。如果只有一个字节则其最高二进制位为0;如果是多字节,其第一个字节从最高位开始,连续的二进制位值为1的个数决定了其编码的字节数,其余各字节均以10开头。
  • GBK 专门为解决汉字的编码而生成的解决方案。字符有一字节和双字节编码,00–7F范围内是第一个字节,和ASCII保持一致,此范围内严格上说有96个文字和32个控制符号。之后的双字节中,前一字节是双字节的第一位。总体上说第一字节的范围是81–FE(也就是不含80和FF),第二字节的一部分领域在40–7E,其他领域在80–FE

所以,如果是先重新加载,则是在IDEA中进行转换,会自动解决不同编码格式的问题
但如果是先通过A编码类型文件B编码类型文件,然后再打开的方式进行转码,则会因为两者的编码规则不同导致字符在二进制层面上出错,从而彻底出错,无法复原

总结

所以在使用IDEA转换文件的编码格式时,推荐先点击Reload,待中文乱码正常后再点击Convert,以此来避免上述问题的出现

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值