這些字元在文字裡合法,在識別字、通知與證據裡各有各的破壞方式。碼位都寫在下面,因為多數看不見。
| 零寬空格 U+200B | 肉眼看不見。混進 SKU 就是另一個 SKU,而人看不出差別。 |
|---|---|
| RTL override U+202E | 把後面的文字反向顯示。可以讓 gpj.exe 看起來像 exe.jpg。 |
| 組合重音 U+0301 | e+U+0301 與 U+00E9 外觀相同、位元組不同。未經 NFC 正規化,雜湊就不同。 |
| 西里爾 а U+0430 | 與拉丁 a 外觀相同、碼位不同。域名與品牌仿冒的手法。 |
| ZWJ 序列 U+200D | 一個家庭 emoji 是七個碼位。以字元數截斷會切出無效序列。 |
| 星際平面字元 U+1D54F | 在 UTF-16 是兩個單位。slice 切一半會產生亂碼。 |
| 超長字串 | 兩千字的標題。存進 evidence、放進通知、寫進主旨都需要上限。 |
| 控制字元 U+0000、U+001B | 寫進日誌會破壞終端輸出,寫進 CSV 會破壞欄位。 |
| 雙向文字混排 | 阿拉伯數字與中文混排時,顯示順序與儲存順序不同。 |
| CJK 相容表意文字 U+FA10 | 與其標準對應字外觀相同、碼位不同——相容字是為了向下相容舊字集而保留的重複編碼。未經 NFKC/相容正規化,字串比對會判定成不同字,即使人眼完全看不出差異。 |
| 抓頁面 | /jsonld/0/observed/ 之下 |
|---|---|
| 結構化來源 | 同目錄的 unicode.json |