joh*_* j. 3 unicode zero-width-space
从实用的角度来看,零宽度空间(U+200B)和零宽度非连接器(U+200C)有什么区别?
我已经阅读了维基百科的文章,但我不明白这些字符是否可以互换。
我认为它们是完全可以互换的,但是我不明白为什么我们在 Unicode 集中有两个而不是一个。
零宽度非连接器几乎不存在。它的唯一目的是将事物一分为二。例如,123 零宽度非连接符 456 是两个数字,中间没有任何内容。
零宽度空格是一个空格字符,只是一个非常非常窄的字符。例如 123 零宽度空格 456 是两个数字,中间有一个空格字符。
零宽度非连接符 (ZWNJ) 仅中断连字。这些在拉丁字母中很难注意到,但在显示某些特定小写字母组合的衬线字体中最常见。有一些字母表,例如阿拉伯语 abjad,非常明显地使用连字。
零宽度空间 (ZWSP) 可以完成 ZWNJ 所做的一切,但它也为换行创造了机会。非常适合显示文件路径和长 URL,但要注意它可能会破坏复制粘贴。
顺便说一下,我在 Python 3.8 和 Javascript 1.5 中测试了正则表达式匹配,但没有一个 match \s。Unicode 将这些字符视为格式化字符(类似于方向标记等),而不是空格/标点符号。同一 Unicode 块中还有其他代码点(例如Thin Space、 U+2009),这些代码点被 Unicode 视为 space 并且匹配\s。
| 归档时间: |
|
| 查看次数: |
1565 次 |
| 最近记录: |