全部文章

Encoding System

文章目录

编码系统

以下是对 ASCII、GBK、Unicode 和 UTF-8 的详细总结,结合示例来解释它们的工作原理及特点。

1. ASCII 编码

定义

范围

特点

示例

字符 十六进制 二进制 十进制
A 0x41 01000001 65
a 0x61 01100001 97
0 0x30 00110000 48
空格 0x20 00100000 32
! 0x21 00100001 33

总结


2. GBK 编码

定义

范围

特点

示例

字符 GBK 十六进制 二进制(高低字节)
中 0xD6D0 11010110 11010000
文 0xCEC4 11001110 11000100
a 0x61 01100001
空格 0x20 00100000

总结


3. Unicode 编码

定义

范围

特点

示例

字符 Unicode 码点 十六进制 二进制
中 0x4E2D 4E2D 01001110 00101101
文 0x6587 6587 01100101 10000111
A 0x0041 0041 00000000 01000001

总结


4. UTF-8 编码

定义

范围

特点

编码规则

示例

以汉字“严”为例:

字符 UTF-8 十六进制 二进制
严 0xE4B8A5 11100100 10111000 10100101
a 0x61 01100001
空格 0x20 00100000

总结


5. ASCII、GBK、Unicode 和 UTF-8 的对比

编码方式 字节数 范围 适用语言 特点
ASCII 1 字节 0x00 - 0x7F 英文 简单高效,但无法表示中文等语言。
GBK 1-2 字节 0x81 - 0xFE 中文 支持中文,兼容 ASCII,不适合多语言环境。
Unicode 2 字节及以上 0x0000 - 0x10FFFF 所有语言 统一字符集,需结合具体存储方案。
UTF-8 1-4 字节 0x0000 - 0x10FFFF 所有语言 国际化支持最佳,变长编码,向后兼容 ASCII。

6. 编码在实际中的应用

  1. ASCII

    • 用于存储英文文本,如 .txt 文件。
    • 适用于早期的计算机系统和设备。
  2. GBK

    • 中文环境下的早期标准,如 Windows 中文操作系统。
    • 适配中文软件,如旧版 Word 文档(.doc)。
  3. Unicode

    • 内存中的统一字符集。
    • 用于跨语言文本显示和处理(如浏览器、数据库)。
  4. UTF-8

    • 互联网的通用编码,如网页、API 数据传输。
    • Web 开发中指定编码:<meta charset="UTF-8">。

7. 总结

通过选择合适的编码方式,可以有效避免乱码问题,提升存储与传输效率!

# ASCII# GBK# Unicode# UTF-8