什么是 Encoding(编码)?
Encoding(编码)通常指将信息(如文本)转换为特定格式以便存储或传输的过程。在计算机中,最常见的是字符编码,例如:
ASCII:最早的英文字符编码标准,使用7位表示128个字符。UTF-8:目前最广泛使用的 Unicode 编码方式,兼容 ASCII,支持全球所有语言。GBK:中文常用编码,主要用于简体中文环境。
例如,字母 A 在 ASCII 中的编码是十进制 65,二进制为 01000001。
什么是 Coding(编程)?
Coding(编程)是指使用编程语言(如 Python、JavaScript、C++ 等)编写指令,让计算机执行特定任务的过程。它涉及算法、逻辑、数据结构等。
虽然 “coding” 有时被泛称为“写代码”,但它与 “encoding” 有本质区别:
- Encoding 是关于数据如何表示;
- Coding 是关于如何指挥计算机做事。
Encoding 与 Coding 的关系
在实际开发中,两者经常交织:
- 当你用 Python 写一个读取文件的程序(coding),必须指定文件的字符编码(encoding),否则可能乱码。
- 网页开发中,HTML 文件需声明
<meta charset="UTF-8">,确保浏览器正确解码内容。 - API 接口返回 JSON 数据时,通常使用 UTF-8 编码,前端需正确处理该编码。
JavaScript 示例:将字符串转为 UTF-8 编码的字节(使用 TextEncoder)
const encoder = new TextEncoder();
const bytes = encoder.encode("你好");
console.log(bytes); // Uint8Array [228, 189, 160, 229, 165, 189]
常见问题
Q:为什么网页会出现乱码?
A:通常是页面声明的编码(如 GBK)与实际内容编码(如 UTF-8)不一致导致。
Q:编程时需要关心 encoding 吗?
A:是的!尤其在处理多语言文本、文件读写、网络请求时,必须明确编码格式。