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