首页
热点话题
全栈
开发工具
经典语录
前端技术
后端技术
智能体
搜索
登录
搜索
一笑痕
人生若只如初见,
是可喜亦或者是可悲?
累计撰写
259
篇文章
累计收到
7
条评论
首页
热点话题
全栈
开发工具
经典语录
前端技术
后端技术
智能体
包含标签 【编码】 的文章
2026-10-20
timingSafeEqual 要求两边字节数相等
crypto.timingSafeEqual 在两个 Buffer 长度不等时抛 RangeError,不返回 false。传字符串会先报类型错,Buffer.from 解 hex 遇到坏字符会静默截断,拿字符数做长度判断也会失效。
2026年-10月-20日
48 阅读
0 评论
后端技术
2026-10-17
中文和 emoji 把 Content-Length 算大了
JavaScript 的 string.length 数的是 UTF-16 代码单元,HTTP Content-Length 数的是消息正文的字节。中文和 emoji 会让两种长度分开,Node.js 用 Buffer.byteLength(body, 'utf8') 才能得到 UTF-8 正文长度。
2026年-10月-17日
57 阅读
0 评论
后端技术
2026-10-17
q=a+b 解成空格,原加号写成 %2B
application/x-www-form-urlencoded 把空格序列化为加号,字面加号则写成 %2B;重复键仍是多组有序数据,URLSearchParams 的 get 与 getAll 取法不同。
2026年-10月-17日
51 阅读
0 评论
全栈
2026-10-16
Buffer.from 解码脏 base64,坏字符不一定截断
Node 的 Buffer.from(text, 'base64') 会忽略非法字符,也接受缺失填充与 URL 安全字母表。脏字符后的内容仍可能参与解码,不同文本也可能得到相同字节。用本机逐项验证。
2026年-10月-16日
66 阅读
0 评论
后端技术
2026-10-14
Intl.Segmenter 数出 1,length 数出 11
同一个字符串,.length 给出 11,展开运算符给出 7 个码点,Intl.Segmenter 给出 1 个字素。截断和字数上限都跟着这个差别走,实测数字摆在一张表里。
2026年-10月-14日
73 阅读
0 评论
前端技术
2026-10-11
导出接口的中文文件名,浏览器存下来是乱码
后端把中文文件名直接写进 Content-Disposition 的 filename,落盘时变成一串带重音符的字母。规范里非 ASCII 要用 RFC 5987 的 ext-value 写进 filename,两个参数同时出现时收件方取 filename。把这段的解析规则和实测放在一起看。
2026年-10月-11日
67 阅读
0 评论
全栈
2026-9-30
读文件别直接指定 utf8,坏字节会被换成问号
一个 29 字节的文件里有两个坏字节,按 utf8 读不报错,只把坏的位置换成 U+FFFD;写回去变成 34 字节,原始字节再也回不来。三种常见错误写法,配上不丢数据的两种替代。
2026年-9月-30日
92 阅读
0 评论
后端技术
2026-9-28
响应里的中文只回来一半,长度该算字节还是字符
接口在本地跑得好好的,上线之后客户端偶尔收到一段断掉的 JSON,报错是 Unterminated string。同一份响应体,用字符数算长度是 63,用字节数是 91,中间差的 28 字节正好是 14 个汉字各多占的两字节。长度声明错在哪、客户端分别怎么反应,都跑了实测。
2026年-9月-28日
88 阅读
0 评论
后端技术
2026-9-23
工具返回太长,按字符截会把 JSON 和汉字一起切坏
工具查库返回一段长 JSON,塞回上下文前先截断。按字符截会切在字符串中间,按字节截到多字节汉字上会切出一个替换符;截完以后 JSON 不能解析,模型也看不出数据被裁过。按结构裁数组并写明省略条数,才留得住"这里少了东西"这个信号。
2026年-9月-23日
84 阅读
0 评论
智能体
2026-9-20
别手拼查询串,空格和加号在两头各变形一次
按 WHATWG 规范和 MDN 的条目逐条核对 URLSearchParams 的行为,九组实测摆在一起:空格编码成加号,加号读回来又变成空格,同一个空格在 new URL 里是 %20;另外还有不完整百分号不报错、querystring.parse 一千键上限这些差异。
2026年-9月-20日
166 阅读
0 评论
前端技术
2026-9-20
同一份报文,按边界切 5 段,按空行切 7 段
本机起一个只记录原始报文的服务,用真实浏览器和 Node 的 fetch 各发一次 FormData,按边界切得到 5 个 part,按空行粗暴切会切出 7 段。每一步都能单独跑,中文字段名、字段值里的空行、boundary 长度这些细节都有实测输出。
2026年-9月-20日
101 阅读
0 评论
全栈