marp | paginate | style |
---|---|---|
true |
true |
h1 {
color: #0bb8e8;
}
|
字符集(Character Set) 一套字符的集合。比如 ASCII 码,就是一个基本的字符集
字符编码(Character Encoding) 一个字符集中,某个字符所采用的码。 比如 A 字符在 ASCII 码字符集中,他的值是 65.
- ASCII
- Unicode
- GBK
- BIG5
- ASCII
- UTF-8
- UTF-7
- UTF-16
- 最早的字符集与编码是 ASCII 码
- 在计算机发展的早期,多字节字符如 GB2312/GBK,BIG5 等在世界发展
- 网络出现,导致这些字符集在不同的计算机里面解析出错
- Unicode 目标让世界上所有的字符集共用一个通用的字符集
UTF-8 是 Unicode 字符集的一种编码方案 Unicode 是一种字符集 UTF-8 与 UTF-16 等都是 Unicode 的编码方案 因为 UTF-8 兼容 ASCII 码,并且无字节顺的差别,而得到广泛的支持。 对于原双字节的编码字符来讲通常会多一个字符为存储,也就是会造成存储空间比原来增加 1/2。 UTF-8 是最广泛支持的互联网编码
乱码的产生通常有以下几个原因:
- 字体不支持,通过 即 OS 系统里没有对应的字体。比如英文的系统里,没有安装中文的字体,导致中文无法显示。
- 编码不支持 即 OS 系统里没有对应的编码集。比如英文系统里,可能没有 GBK 编码集。特别是 Linux 系统里不支持 GBK 编码。会导致一些从 Windows 过来的解压出来的文件乱码。
- 编码不一致 这个是最常见的问题。编辑器编码与文本的原始编码不一致。网页的编码与数据库的不一致。等等。
前两种都需要安装相应的字体或者编码集来解决。有时候还需要系统的功能增强来实现。 后面的主要就是要校正编码一致性即可。统一成 UTF-8 有利于解决乱码的问题。