一、Charset
1. 字符集编码
① 字符:字母、数字、符号(标点符号、运算符号、其它符号)、甚至是一张图片或者一个特殊符号
② 字符集:字符的集合,比如 ASCII、GBK 或 Unicode
③ 字符编码:一种规则,通过这个规则将字符(比如 “你”)转换为计算机能够存储的二进制数据(比如 UTF-8 中“你”对应的 11100100 10111101 10100000)类似于抗战剧里的摩尔斯电码(可以理解为二进制的前身) 中文编码介绍
④ ASCII 是一种字符集,也是一种字符编码。它只能用于少量字符(128 个)
⑤ Unicode 是国际化的字符集标准,UTF-8 是一种实现 Unicode 的编码方式,灵活且高效
⑥ 开发中统一使用 UTF-8 是一种最佳实践,可以避免乱码
补充:
① Dos系统是 Windows 之前的一个系统
② 如果两个系统或者程序使用的字符编码不一致,就可能会导致乱码现象。例如:如果 A 用 GBK 编写了一个项目,B 用 UTF-8 打开 A 的文件,因为 GBK 和 UTF-8 的编码方式不同,字节的解读方式会错误,所以导致中文字符出现乱码。因此在企业开发中,字符编码要统一。UTF-8 是最常用的选择。
不过,乱码的出现不仅仅是字符编码的问题,有时候字符集本身的不一致也会导致显示问题。比如,某些平台或软件如果不支持某些 Unicode 字符(字体缺失),即便编码方式是 UTF-8,字符也可能会显示为“方框”或“问号”。
③ UTF-8是万维网的标准格式(因为它支持全球化、多语言,且高效、兼容 ASCII),Java 使用 UTF-8 作为标准字符编码是为了更方便地处理跨语言、跨国际化的需求
④ 在 Java 开发中,尤其是涉及到 Web 应用、数据库、网络传输等场景时,XML 是一种常见的格式,而 UTF-8 是推荐的字符编码。Java 中优先使用 UTF-8,主要是因为它强烈倾向于 Web 开发,而 Web 应用默认依赖 UTF-8
idea中修改字符编码
2. 转换
无论是文字、视频还是软件等,都存在以下两种状态。这就是为什么有时候观看一些视频的时候需要安装一些解码器,对这些特殊的视频格式(例如:.mp4)进行解析。
java字符编码转换
java批量转换字符编码
批量转换字符编码
补充:
突然发现idea好像自带有批量转换字符编码的功能(选择Convert)
选择Convert