我在某个地方读到,Unicode中除了A-Z之外还有一些具有小写等效物的字符。这些字符是什么,为什么其他字符需要大小写呢?
英语,甚至包括那个奇怪的变体——美式英语 :-),并不是地球上唯一的语言。有一些非常奇怪的语言(至少对于那些熟悉拉丁字符的人来说),但即使是基于拉丁字符的语言也有一些小的变化。
我比较熟悉的两种语言是希腊语和德语:
Αα Ββ Γγ Δδ Εε Ζζ Ηη Θθ Ιι Κκ Λλ Μμ
Νν Ξξ Οο Ππ Ρρ Σσς Ττ Υυ Φφ Χχ Ψψ Ωω
Aa Ää Bb Cc Dd Ee Ff Gg Hh Ii Jj Kk Ll Mm Nn
Oo Öö Pp Qq Rr Ss ß Tt Uu Üü Vv Ww Xx Yy Zz
这就是为什么我们不被允许使用像这样的代码片段:
char lower = upper - 'A' + 'a';
在一个注重国际化的公司里这样做几乎会导致被解雇。使用支持Unicode的toLower()/toUpper()
函数是更好的选择。
除了我们大多数人习惯看到的拉丁字母衍生的西欧字母表之外,还有许多其他字母表。首先,您需要大写和小写版本的带重音字母和连字号,例如Àà、IJij等。在设置亚洲语言文档时还有全角版的拉丁字符。此外,现在还有其他使用的字母表,如西里尔字母(Бб)和希腊字母(Δδ)。
还有土耳其语,根据Jeff Atwood的说法,这种语言有点困难。使用环境提供的大写/小写功能通常是处理用户输入数据的方法。
在德语中,不需要大写ß,因为该字母从不用作名称或单词的首字母。对于其他语言,例如法语,可能也不使用带重音的大写字符,只使用非带重音的变体。