Lobsters | 📄 原文链接 | 2026-11-01 收录

判断一个字符是不是空白,到底有多难

来源:serce.me — 2026-10-30

📋 概述

Sergey Tselovalnikov 从 Guava 里一个看起来过度复杂的 isWhitespace 方法出发,追到 Unicode 的 White_Space 属性:它列了 25 个字符,各有用途,FIGURE SPACE 和数字同宽,THIN SPACE 与 HAIR SPACE 更窄,NO-BREAK SPACE 防换行。麻烦在于定义并不统一——Java 的 Character.isWhitespace 就明确排除 NO-BREAK SPACE 等三个不换行空格,名字叫 ZERO WIDTH SPACE 的字符反而不是空白,OGHAM SPACE MARK 在带主干线的字体里会渲染成一条可见横线。

🔑 核心要点

💡 金句

So even the assumption that whitespace must look empty isn’t always true.
← 返回 Lobsters 首页