Unicode字符:U+202E、U+2066、U+2069 (记录)
2022_03_29
这只是写给我自己看的,理解不了就看其他人的吧
三个Unicode编码
1.E280AE:从右往左强制符
对于这个特殊字符,它是Unicode编码U+202E
转UTF-8对应的十六进制编码
css代码:\202E
它的作用就是:根据内存顺序从右至左显示字符
测试:
if __name__ == "__main__":
print("Hello" + u"\u202e" + "World")
结果:
2.E281A6
对于这个特殊字符,它的Unicode编号为:U+2066
作用:这之间的字符从左到右显示,不影响外围字符
测试1:没有E281A6(\u2066)
if __name__ == "__main__":
print("Hello" + u"\u202e" + "World" + "hai" )
结果:
测试2:有E281A6(\u2066)
if __name__ == "__main__":
print("Hello" + u"\u202e" + "World" + u"\u2066" + "hai" )
结果:
测试3:空格(只是我自己比较疑惑)
if __name__ == "__main__":
print("Hello" + u"\u202e" + "World " + u"\u2066" + "hai" )//world后面有空格
结果:
if __name__ == "__main__":
print("Hello" + u"\u202e" + "World" + u"\u2066" + "hai " )//hai后面又空格
if __name__ == "__main__":
print("Hello" + u"\u202e" + "World" + "hai " )//hai后面有空格
好像最后一个字符串中有空格就不会被放到前面
3.E281A9
这个字符的Unicode编号为:U+2069
作用:作为RLI、LRI、FSi
翻转结束的标识
一道题的解释:
输出:
只阐述我的理解,不保证对错:
计算机到 1 处,知道后面(" " + u"\u202e" + ( u"\u2066" + "World" + u"\u2069" + u"\u2066" + "hai"))要从右往左显示;到 2 处,知道后面(" " + u"\u202e" + u"\u2066" + ( "World" + u"\u2069" + u"\u2066" + "hai" ) )要从左往右显示,就正常显示 3 World
;到 4 处,4 只是把 2 给停掉了,1 还没停 (验证如下图1);到5处,计算机知道要把 6 从左到右显示,就正常显示 6 hai
;最后,由于 1 的作用,World(一个整体)和hai(一个整体)从右到左显示为haiWorld
图1:没有上面的 5 ,hai还是从右往左显示
参考链接:
https://mp.weixin.qq.com/s/lo2AiEloACLtCn2Ncle33A
原文地址:https://www.cnblogs.com/konglongwu/p/16074299.html