QQ群反向昵称、恶搞昵称的原理[附]

如果你想了解反向QQ昵称的原理,移步正文

 

思考题答案(附过程):

①如果把“汪”替换成“123”,显示出的文本是什么样的?

|

@|

@g|

...

@gloria|

遇到控制字符“U+202E”,从右向左书写

@gloria←|

后面的字符是“123”

@gloria←|1

由于现在是从右向左书写,因此

@gloria←|21

@gloria←|321

然后是控制字符“U+202D”,从左向右书写

@gloria|→321

接下来是一样的

@gloria【|→321

@gloria【括|→321

@gloria【括号|→321

...

@gloria【括号里是我的消息】|→321

结果:@gloria【括号里是我的消息】321

可以看出对于这种形式的昵称,两个控制字符之间的文本会被反转。因此如果想要实现网上 printf("【括号里是别人的消息】"); 的效果,需要写成 printf("<从右向左>;)"<从左向右>,而不是 ");(更正:应该是;(",实际测试发现,强制从右向左会导致左右括号翻转/互换

 

②如果去掉最后一个从强制左向右控制字符“U+202D”会有什么效果呢?

|

@|

@g|

...

@gloria|

遇到控制字符“U+202E”,从右向左书写

@gloria←|

下一个字符是“汪”

@gloria←|

由于现在是从右向左书写,因此接下来的消息会反向显示

@gloria←|【

@gloria←|括【汪

@gloria←|号括【汪

@gloria←|里号括【汪

...

@gloria←|】息消的我是里号括【汪

结果:@gloria】息消的我是里号括【汪 

这就是让别人的消息反向显示的原理,实现这个效果很简单,在昵称最后面添加一个“U+202E”就可以了

你可能感兴趣的:(好玩的东西)