# 💡 Summary
| 项目 | ASCII 10(换行符 LF) | UTF‑8 | Base64 |
|-----------------|---------------------------------------------------------|------------------------------------------------------|----------------------------------------------------------|
| 本质是什么 | **一个具体字符**(编号 10,对应“换行”) | **字符编码方案**:把“字符”编码成字节序列 | **数据编码方案**:把任意二进制数据编码成可见文本 |
| 所在层级 | 字符集里的**单个码位** | 整套“字符集 + 编码规则”的实现 | 纯粹的“二进制 → 文本”转换规则 |
| 作用对象 | 文本中的某一位置(换行处) | 任何字符(中英文、emoji 等) | 任意二进制数据(图片、文件、JSON 等) |
| 典型用途 | 表示一行结束、分行 | 存储/传输多语言文本(文件、HTTP Body 等) | 在只支持文本的通道里传输二进制(如 JSON、表单、Cookie) |
| 表现形式示例 | 源码里写成 `\n`,实际是一个字节(如 0x0A) | 字符 `中` → UTF‑8 字节 `E4 B8 AD` | 字节流 `FF D8 ...` → 文本 `" /9j/4AAQSkZJRgABAQ..."` |
| 可读性 | 不可见控制字符(编辑器显示为“换行”效果) | 最终变成普通文本,肉眼可读 | 输出是看得见的文本,但内容多为“乱码样”的编码串 |
| 是否是“协议” | 否,只是一个字符 | 是,一整套编码规则 | 是,一整套编码/解码规则 |
一句话总结:
- **ASCII 10**:只是“换行”这个字符本身。
- **UTF‑8**:定义“所有字符怎么变成字节”的规则。
- **Base64**:定义“任意字节怎么变成一串安全可传输的文本”的规则。
## ASCII
```
#### 1. ASCII 10(换行符)
它不是“编码方案”,只是一个字符本身。
- 文本:Hello 换行 World
Hello
World
- 内部字节(假设 ASCII):
- H → 0x48
- e → 0x65
- l → 0x6C
- l → 0x6C
- o → 0x6F
- 换行 → 0x0A(就是 ASCII 10)
- W → 0x57
```
# 🧩 Cues
[[URL编码]]
# 🪞Notes