UTF-8 中存在哪些不被视为空格的零宽度字符1?我对那些不在主流浏览器上呈现的字形特别感兴趣:永远不应该显示未找到的矩形。
有许多网络服务按字母顺序排列用户输入的数据(例如 Gmail 的标签)。我想使用那些不可见的字符来强制执行自定义排序。
1 视为空格:不被常用的实现trim
和类似的删除。在 gmail 示例中,U+202F
(Narrow no-break space)被修剪。
编辑:只有一个隐形字符就足够了。毕竟,它们可以重复而不影响视觉表示(假设下面是较低的代码 ascii 文本):
[char]Z on first position
[char][char]B on second position
[char][char][char]C on third position
不幸的是,我能想到的所有字符要么被立即修剪,要么被排序函数忽略。
编辑:我浏览了所有似乎零宽度/不可见且没有按要求工作的UTF-8 字符。U+0 - U+20
, DEL
, 控制字符,甚至像 U+034F: 这样的符号COMBINING GRAPHEME JOINER (alias CGJ)
,都被正确处理,因此无法用于我的目的。不过我一直在寻找。