打印字符串长度,明明为3,为何打印结果为4
这是因为字符串中插入了零宽字符
零宽字符是文本中不可见的字符,但仍然存在于字符串中,影响字符串的长度和一些行为。
常见零宽字符
- U+200B:零宽度空格符 用于较长单词的换行分隔
- U+FEFF:零宽度非断空格符 用于阻止特定位置的换行分隔
- U+200D:零宽度连字符 用于阿拉伯文与印度语系等文字中,使不会发生连字的字符间产生连字效果
- U+200C:零宽度断字符 用于阿拉伯文,德文,印度语系等文字中,阻止会发生连字的字符间的连字效果
- U+200E:左至右符 用于在混合文字方向的多种语言文本中(例:混合左至右书写的英语与右至左书写的希伯来语),规定排版文字书写方向为左至右。
- U+200F:右至左符 用于在混合文字方向的多种语言文本中,规定排版文字书写方向为右至左。