城市便條技術筆記

技術筆記 #011|原來「空白」跟「空白」也可以不是同一個字元!

強迫自己每天輸出且(儘量)不用 AI 寫文章 Day020

又學到一個工程師看了會開始懷疑自己眼睛的東西:原來「空白」跟「空白」也可以不是同一個字元!

最近因緣際會接觸到 Unicode Code Point,也終於理解它到底在幹嘛。

我們看到的是「字長什麼樣子」,但電腦認的是每個字元背後的編號。

例如看起來都是空白:

  • U+0020 → 一般空白
  • U+00A0 → Non-breaking Space

人類:不都空白?

電腦:不好意思,兩個完全不同。

更扯的是「一條橫線」:-、–、—、-。看起來都只是一條線,卻分別可能是連字號、短破折號、長破折號、全形連字號,每一個都有不同的 Unicode Code Point。

人類:不都是一條線?😦

電腦:這是四個不同的人 😶

顯示出來看似一模一樣,底層卻不一定相同。這才終於理解,為什麼有時候明明複製貼上看起來完全相同,程式卻跟你說 False。

原來 Unicode 有點像在幫每個字元發身分證。人類看臉,電腦查身分證 🤣。