2015-12-22 72 views
0

是否有一個原因,當消毒一個字符串時,字符會轉換爲lowercase而不是uppercase消毒大小寫

我已經看到在許多語言這個習慣,但是在我目前的環境而言,我們會說Rails和/或Javascript

+1

消毒到什麼程度? HTML? – Anko

+1

這完全取決於*你如何消毒,取決於你。告訴我們你的代碼。 – Bergi

+0

我並沒有真正的代碼,這只是我在各種消毒方法中已經注意到的一個慣例;這是他們似乎都將用戶輸入轉換成小寫字母作爲消毒的一部分。基本上,我想知道是否有任何具體優勢轉換爲小寫與轉換爲大寫。 –

回答

1

無特殊原因,據我所知,但既不uppercasing也不lowercasing是在統一世界的全貌。

例如,德文字母ß完全等同於ss;它們都是小寫字母,並且拼寫爲ß的單詞也可以拼寫爲ss

相反地,在土耳其語中,ı(無點i)爲從i(虛線ⅰ)不同的,但除非的區域設置爲土耳其語,uppercasing任一個產生I(帶點ASCII I)。這也改變了意義。你不想使用錯誤的;它們並不等同。因此,一些編程語言在Unicode標準的第3.13節中爲每個案例摺疊規則提供了更具體的「案例規範化」轉換;出於這個原因,Python 3.3引入了str.casefold。這很像.lower(),但也會標準化爲ßss之間的東西,因爲它們在邏輯上是等價的(如果你是獨立的,你不會希望看到僅在ßss之間被視爲不同的兩個字符串) 。

如果您的語言沒有可用的大小寫摺疊,那麼標準化爲大寫與小寫的區別主要是慣例。

0

JavaScript有toLowerCase()和toUpperCase()。你可以使用!

我想你的問題的答案,但實際上源於unix系統決定幾十年前使用區分大小寫,並具有所有小寫命令。這翻譯成Apache的區分大小寫的URL,並且要跨越O/S兼容,我們只是確保一切都是小寫。

我想全部大寫可能是,有時被使用,但它也討厭:)