2015-12-22 70 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兼容,我们只是确保一切都是小写。

我想全部大写可能是,有时被使用,但它也讨厌:)