Unicode字符:U+202E、U+2066、U+2069 作者: ynnddddd 时间: 2024-11-30 分类: 网络安全,RCE ## 三个Unicode编码 ### 1.E280AE:**从右往左强制符** 对于这个特殊字符,它是Unicode编码`U+202E`转UTF-8对应的十六进制编码 css代码:\202E 它的作用就是:根据内存顺序**从右至左**显示字符 测试: ```python if __name__ == "__main__": print("Hello" + u"\u202e" + "World") ``` 结果:   如上图所示,从左往右拖动光标,光标还是按照helloworld的顺序,而不是hellodlrow。复制出来为:HelloWor ### 2.E281A6 对于这个特殊字符,它的Unicode编号为:`U+2066` 作用:与\u202E配合,\u202E表示字符从左到右显示,\u2066表示“字符从左到右显示”在此处结束,简单来说就是\u2066后面的字符正常显示,不受\u202E影响 测试1:没有E281A6(\u2066) ```python if __name__ == "__main__": print("Hello" + u"\u202e" + "World" + "hai" ) ``` 结果:  测试2:有E281A6(\u2066) ```python if __name__ == "__main__": print("Hello" + u"\u202e" + "World" + u"\u2066" + "hai" ) ``` 结果:  测试3:空格(只是我自己比较疑惑) ```python if __name__ == "__main__": print("Hello" + u"\u202e" + "World " + u"\u2066" + "hai" ) # world后面有空格 ``` 结果:  ```python if __name__ == "__main__": print("Hello" + u"\u202e" + "World" + u"\u2066" + "hai " ) # hai后面有空格 ```  ```python 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://imgtu.com/i/qcuqcq) ***转载https://www.cnblogs.com/konglongwu/p/16074299.html*** 标签: none
?叙事类评语?