源码里的 \u4e2d\u6587 就是 Unicode 转义。乱码问题九成是编码不一致,本文从根上讲清。
Unicode 是字符集,给每个字符分配唯一码位(如中是 U+4E2D)。UTF-8 是编码方式,规定码位怎么存成字节。两者是标准与实现的关系。
常用汉字在 UTF-8 中占 3 字节,生僻字和 emoji 占 4 字节。GBK 中汉字统一 2 字节,这是两种编码体积差异的来源。
用 UTF-8 编码的字节流按 GBK 解码(或反过来),就会产生乱码。表现为锟斤拷或问号。修复方法是确认两端编码一致。
编程语言常用 \uXXXX 表示 BMP 区字符,emoji 等用 \U0001F600 或代理对。日志和 JSON 中看到这类转义,用工具还原即可读。
若中间丢失了字节(如截断),信息已损坏则无法恢复,只能从源头重新获取。
没有,只是写法不同,标准名称是 UTF-8。
字节顺序标记,UTF-8 的 BOM 常导致 JSON 解析失败和页面顶部空行,建议去掉。