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还是从右往左显示

qcuqcq.png

参考链接:
https://mp.weixin.qq.com/s/lo2AiEloACLtCn2Ncle33A


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM