技术笔记
共 115 篇文章同一个数打两遍,最小公倍数成了 94906266.99999999:先乘后除撞上限的是中间量
同一个数打两遍就露馅:输入 94906267, 94906267 时,最小公倍数成了 94906266.99999999——先乘后除撞上限的是中间量,不是结果。
后缀从最后一个点算起:LICENSE、.gitignore、archive.tar.gz 为什么会漏改
后缀只认最后一个点:27 行样本 UPPER 改 11 行、lower 改 9 行、Title 改 19 行,LICENSE 与 .gitignore 原样返回,archive.tar.gz 只动 gz,带路径还会改到目录名。
批量建目录的脚本里,编号补零和 CON 这两个坑最容易被忽略
同一份 150 行的清单,BAT 写 157 行 / 3544 字节,PowerShell 写 156 行 / 11049 字节;补零位数选小不会重名,CON 却会原样进脚本。
同一句中文,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 的地址块对照表和掩码换算方法。