字符编码是将字符转换为计算机可处理的数字的规则。了解不同编码标准的区别和特点,有助于正确处理多语言文本和避免乱码问题。
| 编码 | 发布年份 | 字符集大小 | 特点 |
|---|---|---|---|
| ASCII | 1963年 | 128个字符 | 仅支持英文字母、数字和基本符号,每个字符占1字节 |
| GB2312 | 1980年 | 6,763个汉字 | 中国大陆简体中文标准,兼容ASCII |
| GBK | 1995年 | 21,886个汉字 | GB2312的扩展,包含繁体字和更多汉字 |
| UTF-8 | 1993年 | 覆盖全部Unicode | 变长编码(1-4字节),向后兼容ASCII,互联网最常用编码 |
| UTF-16 | 1996年 | 覆盖全部Unicode | 变长编码(2或4字节),Java和Windows内部使用 |
| UTF-32 | — | 覆盖全部Unicode | 固定4字节编码,空间浪费大,很少使用 |
Base64是一种将二进制数据编码为可打印ASCII字符的方法。它将每3个字节(24位)转换为4个Base64字符(每个字符代表6位)。
URL编码(百分号编码)将非ASCII字符和特殊字符转换为 %XX 格式:
| 字符 | 编码 | 字符 | 编码 |
|---|---|---|---|
| 空格 | %20 | & | %26 |
| = | %3D | ? | %3F |
| # | %23 | + | %2B |
| / | %2F | % | %25 |
| 字符 | 实体名称 | 实体编号 | 说明 |
|---|---|---|---|
| & | & | & | 和号,HTML中必须转义 |
| < | < | < | 小于号,避免与标签冲突 |
| > | > | > | 大于号,避免与标签冲突 |
| " | " | " | 双引号,属性值中使用 |
| ' | ' | ' | 单引号(HTML5支持) |
| (空格) | |   | 不换行空格 |
| © | © | © | 版权符号 |
| ® | ® | ® | 注册商标 |