Проверить символ на пробел оказалось сложнее, чем кажется

How hard is it to check for whitespace?

Проверить символ на пробел оказалось сложнее, чем кажется

Автор разбирает метод из Guava, который проверяет, является ли символ пробельным, и обнаруживает за ним целую историю. Unicode определяет 25 пробельных символов, но Java, Python и JavaScript расходятся в том, что считать пробелом: Java исключает NO-BREAK SPACE, Python добавляет FILE SEPARATOR, а JavaScript признаёт ZERO WIDTH NO-BREAK SPACE. Guava решает задачу через perfect hash function с загадочным множителем 1682554634.

Даже допущение, что пробел должен выглядеть пустым, верно не всегда.

Ещё за этот день

2026-11-10