1. 程式人生 > 其它 >Unicode字元:U+202E、U+2066、U+2069 (記錄)

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