🛠️ ASCII 编码
- 范围:0~127
- 字节长度:1 字节
- 主要字符集:英文字母、数字、标点符号等
- 适用场景:适用于英文文本、编程语言、网络通信协议等
- 示例字符:
A
,1
,@
,\n
📊 特点:
- ASCII 是最基础的字符编码标准,只包含了英语字母、数字及一些特殊符号,常用于早期的计算机系统,且与其他编码兼容。
📌 Unicode 编码
- 范围:0~1114111(Unicode 码点)
- 字节长度:1~4 字节(取决于具体编码形式,如 UTF-8, UTF-16, UTF-32)
- 主要字符集:几乎所有的字符和符号,包括全球几乎所有语言
- 适用场景:广泛应用于 Web 开发、操作系统、数据库、国际化支持
- 示例字符:
你
,😊
,🚀
,👩💻
🛠️ 特点:
- Unicode 是一个全球统一的字符集,旨在解决不同语言字符集不兼容的问题,支持世界各地的字符。通过不同的编码形式(如 UTF-8, UTF-16, UTF-32)来存储和传输字符。
✅ Base64 编码
- 用途:将二进制数据编码为可打印的 ASCII 字符
- 字节长度:输出长度比原数据大约增加 33%
- 主要用途:用于网络传输(如电子邮件、HTTP 协议),以避免二进制数据对文本传输造成的问题
- 示例:
QmFzZTY0IEVuY29kaW5n
📊 特点:
- Base64 编码是一种常见的编码方法,尤其适用于将二进制数据(如图片、文件、加密数据等)转换为文本格式。它通过将 3 字节数据编码成 4 个可打印字符,常用于网络传输。
🛠️ GBK 编码
- 范围:0x8140~0xFEFE
- 字节长度:2 字节
- 主要字符集:简体中文和扩展字符集
- 适用场景:简体中文环境,中文处理
- 示例字符:
你
,我
,好
,学
📊 特点:
- GBK 是对 GB2312 编码的扩展,支持简体中文及其他汉字字符。它常用于中国大陆的操作系统、软件及数据库中,支持大量的汉字和符号。
📌 URL 编码
- 用途:将 URL 中的特殊字符转换为编码格式(例如,将空格编码为
%20
) - 字节长度:根据字符的不同,编码后的长度变化
- 主要用途:用于 URL 中传输非 ASCII 字符、空格等特殊字符
- 示例:
Hello%20World
🛠️ 特点:
- URL 编码是为了确保 URL 字符串的安全传输。通过将 URL 中的非字母数字字符转义成百分号(%)和十六进制的形式,确保其在 HTTP 协议中不会引发歧义或错误。
✅ XML/JSON 编码
XML 编码
- 用途:用于存储和传输结构化数据,通常在 Web 服务、配置文件等场景中使用
- 字节长度:根据数据的大小和结构不同,编码后的长度变化
- 主要用途:用于在不同系统之间交换结构化信息,尤其是在 Web 服务(SOAP)中
- 示例:
<person>
<name>张三</name>
<age>25</age>
</person>
📊 特点:
- XML 编码是一种可扩展标记语言,使用标签结构来表示数据,适用于复杂的数据表示和交换。它的优势是结构化和可扩展性,但相对于 JSON 来说,冗长且不够紧凑。
JSON 编码
- 用途:用于表示轻量级的结构化数据
- 字节长度:与 XML 相比,JSON 编码更加简洁紧凑
- 主要用途:广泛用于 Web 开发和 API 数据交换
- 示例:
{ "name": "张三", "age": 25 }
🛠️ 特点:
- JSON 编码采用键值对的格式,非常简洁且易于人类阅读,广泛应用于 Web 开发、RESTful API 和各种数据交换场景。它比 XML 更简洁和高效,尤其是在数据量大时。
📝 总结
编码方式 | 适用场景 | 字节长度 | 示例字符 |
---|---|---|---|
ASCII | 英文文本,编程语言,网络协议等 | 1 字节 | A , 1 , @ |
Unicode | 全球多语言支持,国际化应用,Web 开发等 | 1~4 字节 | 你 , 😊 , 🚀 |
Base64 | 网络传输二进制数据(如图片、文件等) | 输出增加 33% | QmFzZTY0IEVuY29kaW5n |
GBK | 中文文本处理,支持简体和扩展字符集 | 2 字节 | 你 , 学 , 好 |
URL 编码 | 在 URL 中安全传输非字母数字字符(如空格、中文等) | 长度变化 | Hello%20World |
XML | 结构化数据存储和交换,Web 服务,配置文件等 | 长度变化 | <name>张三</name> |
JSON | 轻量级数据交换格式,API 开发等 | 长度变化 | { "name": "张三", "age": 25 } |