为什么有些字符如"○"重叠?

时间:2014-07-17 06:30:49

标签: string unicode skype

我偶然发现了一个有趣的角色。我最初感兴趣的是发送一条空消息,但由于Skype有一些验证规则,因此它不允许空消息。

但是,通过一些ALT+NUMPAD个ASCII符号,我看到alt+777它会在大多数编辑器上返回,在Skype上返回̉,这会传递一个类似于空的消息这就是好奇心得到我的地方。我开始滥用这个符号并发现它可以与其他角色重叠。因此,如果我在单词上写ASCII符号,结果将是̉mủt̉ả̉̉̉t̉ẻd̉W̉ỏ̉r̉̉d̉̉

"̉mủt̉ả̉̉̉t̉ẻd̉W̉ỏ̉r̉̉d̉̉".length == 24 "mutatedWord".length == 11时,您可以看到

有趣的是,到目前为止,我只能在Skype上生成那种奇怪的aphostrophy,其他任何地方都会产生{{1}}。

有人可以向我解释这种行为吗?

1 个答案:

答案 0 :(得分:2)

您正在编写Unicode codepoint 777(但通常以十六进制表示为U + 0307)。此代码点是Unicode的combinbing characters之一,即"组合钩子"。你已经发现了他们的所作所为:他们为下一个角色添加了变音符号。

如果没有字母跟随,则没有一致的行为。如果Skype呈现的方式与您尝试的其他应用程序不同,则可能是使用不同的字体引擎。