雜記 › 技術筆記

技術筆記

共 52 篇文章

同一句中文,UTF-8 存 12 位元組、GBK 只存 8 位元組:編碼是怎麼被判錯的

判定鏈只有 BOM、UTF-8 嚴格解、GBK 嚴格解和兜底四步,日文 Shift-JIS 的位元組因同時合法於 GBK 被判成中文樣子;另有位元組數、UTF-16 碼元與行數三把尺,以及先於大小門檻撞到的 50000 段渲染上限。

API 回傳的 JSON 匯出成 CSV,Excel 裡為什麼少了一欄

API 回傳的 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 的真實讀法

接手一個登入 API,抓包只拿到三段字串:什麼時候到期、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 下一頁