2012-04-06 361 views
1

为什么显示语言如HTML不区分大小写,xml区分大小写?使语言敏感或不区分大小写的基本思想是什么?为什么和以什么为基础呢?为什么区分大小写和不区分大小写?

+1

历史原因。源自SGML的XML区分大小写,并且为了简单起见,HTML最初不区分大小写。 – 2012-04-06 11:44:14

+0

您可能需要检查[常见问题](http://stackoverflow.com/faq)以了解您可以在SO上询问的问题类型。 – Jeroen 2012-04-06 11:45:23

+2

@ EugeneMayevski'EldoSCorp HTML源自SGML作为应用程序。 XML我猜是独立于SGML。请澄清。 – 2012-04-06 11:50:31

回答

3

简单说明:大小写不敏感通常比较容易写人,而区分大小写的计算机则更容易分析。另外,使用unicode编写的语言,弄清楚“不同案件的同一封信”是不是微不足道的。

这很大程度上。即使在创建许多标识符的情况下,创建仅在大小写不同的情况下创建不同标识符的情况也很少见。

+0

我认为“稍微容易一点”是夸张的。只需通过“ToLowerCase”或任何它以您选择的语言调用的方式运行它(当然,那么您将失去原始的错误消息框,但这只是额外的功劳,并且可以用存储原始和规范化的20行包装类来恢复套管)。当然这假定在所述语言中体面的字符串处理。当然,这并不能解决unicode问题,至少不是完全的。 – delnan 2012-04-06 23:02:01

+0

@delnan你正在为我制定案例 - 处理大小写不敏感的代码更复杂,语言设计者(和实现者)很少会感兴趣。 – Marcin 2012-04-07 07:21:18

0

区分大小写有利于区分大小写。关于哪个最好的意见可能会有所不同,因为语言是由有意见的人设计的,所以语言会有所不同。

当您支持整个Unicode而不仅仅是ASCII时,不区分大小写变得复杂得多:因为HTML标记名称全部是ASCII,而XML标记名称可以使用更广泛的曲目,而不是可以解释区别。