零宽字符
前言
在开发过程中,如果你遇到代码读起来没有问题,但是运行的时候就是会报错,找了半天,逐行代码注释,甚至重新敲一遍,你无意中会发现,重新敲一遍就没有问题了,这可能是因为,你的代码中加入了“零宽字符”。
零宽字符(Zero-width characters)
vim 编译器可以将隐藏的内容展示出来
- 定义
零宽字符(Zero-width character)是一类特殊的字符,它们本身不占用显示宽度,对肉眼不可见,但在计算机中仍然占用空间。常见的零宽字符包括零宽空格(U+200B)、零宽连接符(U+200D)等。
隐藏字符;零宽字符虽然不可见,但会影响字符串长度
- 常见的零宽字符
零宽空格(U+200B):用于在不增加可见空间的情况下分隔数字和文字。
零宽连接符(U+200D):常用于Emoji表情中,表示多个字符的连接。
零宽非连接符(U+200C):用于抑制周围字符的连接。
左至右符(U+200E):改变文字的方向。
右至左符(U+200F):改变文字的方向。
蒙古文元音分隔符(U+180E):用于蒙古文排版。
- 应用场景
零宽字符在实际应用中有多种用途,例如:
文字水印:通过在文字中插入零宽字符,可以在不影响视觉效果的情况下添加水印。
复杂Emoji表情:零宽连接符用于连接多个字符,形成复杂的Emoji表情。