是否有一個原因,當消毒一個字符串時,字符會轉換爲lowercase
而不是uppercase
?消毒大小寫
我已經看到在許多語言這個習慣,但是在我目前的環境而言,我們會說Rails
和/或Javascript
是否有一個原因,當消毒一個字符串時,字符會轉換爲lowercase
而不是uppercase
?消毒大小寫
我已經看到在許多語言這個習慣,但是在我目前的環境而言,我們會說Rails
和/或Javascript
無特殊原因,據我所知,但既不uppercasing也不lowercasing是在統一世界的全貌。
例如,德文字母ß
完全等同於ss
;它們都是小寫字母,並且拼寫爲ß
的單詞也可以拼寫爲ss
。
相反地,在土耳其語中,ı
(無點i)爲從i
(虛線ⅰ)不同的,但除非的區域設置爲土耳其語,uppercasing任一個產生I
(帶點ASCII I)。這也改變了意義。你不想使用錯誤的;它們並不等同。因此,一些編程語言在Unicode標準的第3.13節中爲每個案例摺疊規則提供了更具體的「案例規範化」轉換;出於這個原因,Python 3.3引入了str.casefold
。這很像.lower()
,但也會標準化爲ß
到ss
之間的東西,因爲它們在邏輯上是等價的(如果你是獨立的,你不會希望看到僅在ß
與ss
之間被視爲不同的兩個字符串) 。
如果您的語言沒有可用的大小寫摺疊,那麼標準化爲大寫與小寫的區別主要是慣例。
JavaScript有toLowerCase()和toUpperCase()。你可以使用!
我想你的問題的答案,但實際上源於unix系統決定幾十年前使用區分大小寫,並具有所有小寫命令。這翻譯成Apache的區分大小寫的URL,並且要跨越O/S兼容,我們只是確保一切都是小寫。
我想全部大寫可能是,有時被使用,但它也討厭:)
消毒到什麼程度? HTML? – Anko
這完全取決於*你如何消毒,取決於你。告訴我們你的代碼。 – Bergi
我並沒有真正的代碼,這只是我在各種消毒方法中已經注意到的一個慣例;這是他們似乎都將用戶輸入轉換成小寫字母作爲消毒的一部分。基本上,我想知道是否有任何具體優勢轉換爲小寫與轉換爲大寫。 –