# 💡 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