簡體   English   中英

只包含ASCII字符的UNICODE字符串是否總是等於ASCII字符串?

[英]Will a UNICODE string just containing ASCII characters always be equal to the ASCII string?

我注意到以下情況:

>>> u'abc' == 'abc'
True
>>> 'abc' == u'abc'
True

這總是正確的還是可能取決於系統區域設置? (似乎字符串在python 3中是unicode:例如這個問題 ,但2.x中的字節)

在比較兩種類型時,Python 2使用ASCII編解碼器在unicodestr之間unicode 所以是的,這總是如此。

也就是說,除非你弄亂你的Python安裝並使用sys.setdefaultencoding()來改變那個默認值。 你不能這樣做,因為sys.setdefaultencoding()函數在啟動時從模塊中刪除 ,但有一個Cargo Cult四處走動,人們使用reload(sys)恢復該函數並將默認編碼更改為嘗試修復隱式編碼和解碼問題的其他東西。 正是出於這個原因,這是一件愚蠢的事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM