杂记 › 技术笔记

技术笔记

共 52 篇文章

同一句中文,UTF-8 存 12 字节、GBK 只存 8 字节:编码是怎么被判错的

判定链只有 BOM、UTF-8 严格解、GBK 严格解和兜底四步,日文 Shift-JIS 的字节因同时合法于 GBK 被判成中文样子;另有字节数、UTF-16 码元与行数三把尺,以及先于大小门槛撞到的 50000 段渲染上限。

接口返回的 JSON 导成 CSV,Excel 里为什么少了一列

接口返回的 JSON 导成 CSV:表头取所有记录键的并集,嵌套对象不勾展平就塌成 [object Object],BOM 那 3 个字节只加在下载那一路。

服务器日志里那串 User-Agent,哪几个字段是自己填的

从 Nginx 日志里挑一行 UA 来读:32 条浏览器表、21 条爬虫表、34 条高亮表都按顺序取首个命中,内核与客户端是两根轴,NT 映射只有 7 条命中,伪造蜘蛛与大写裸子串的误判都有样例。

sin(π) 算出 0.0548 而不是 0:角度制、弧度制和计算器的优先级

sin(pi) 屏幕上是 0.0548036651488 而不是 0:把模式、表达式语法和双精度表示分开核对,附 raw 与 shown 对照表及阶乘、优先级、精度上限清单。

同一批投放链接为什么跑出两行数据?UTM 五个参数、大小写与一次百分号编码

同一批投放链接为什么在报表里跑出两行?从 utm 五个参数的分工、同名参数是覆盖不是追加、中文与空格的百分号编码膨胀,到参数顺序改变字符串,都用真实字符数对一遍。

JWT 那三段字符串里到底写了什么?header、payload 与 exp 的真实读法

接手一个登录接口,抓包只拿到三段字符串:什么时候到期、role 里写了什么。我把样例逐段解码,字符数、字节数和 UTC 时间都摆出来,说清编码与签名的分别。

网址里哪一段会到服务器?六段拆分与 %20、+、二次编码

把网址拆成协议、主机、端口、路径、查询和锚点六段,用本地实测说明锚点不出浏览器、加号等于空格、二次编码为什么解一次还剩百分号。

身份证最后一位为什么是 X?前 17 位加权取模算出的校验位

身份证末位为什么会出现 X?17 位权重、模 11 取余、查表三步的完整算法,以及校验位能拦下手滑却拦不住编造的那条边界。

子网掩码写成 /22 能带多少台设备?主机位、网络地址与广播地址

256 个地址为什么只能连 254 台?主机位、网络地址与广播地址这三者怎么扣出可用数,附 /16 到 /30 的地址块对照表和掩码换算方法。

排版稿没内容可填?占位文本怎么写才不像模板

设计稿只能先填占位文本时,问题就不是"写什么",而是"装得下几行"。这里给出按段数与每段句数推算体量的办法、中文与拉丁文行数差异的算法,以及标题按钮这类高危位置为什么不适用占位文本。

两列数据要列出所有组合?分列合并与笛卡尔积

颜色乘尺码再乘材质,行数不是相加而是相乘:5 种颜色配 4 个尺码是 20 行,加 3 种材质就变 60 行。我记下手工填表的错漏、分轮做笛卡尔积的核对方法,以及分列时段数错位的坑。

测试上传限制要多大文件?按需造一个指定大小的

要测上传限制却找不到刚好 10 MB 的文件?我把 MB 与 MiB 的字节差、全零内容压完为什么只剩几十 KB、稀疏文件的逻辑大小与实际占用一次算清,并给出按字节生成测试文件的做法。

上一页 1 2 3 4 下一页