Unicode小写字符?

时间:2009-05-30 05:29:27

标签: unicode uppercase lowercase

我在某个地方读到,在Unicode中,有一些字符其他比A-Z具有小写等效字符。这些可能是什么,为什么其他任何角色都需要大写和小写?

5 个答案:

答案 0 :(得分:9)

英语,甚至那个奇怪的变体,美国英语:-),并不是这个星球上唯一的语言。有些非常看起来很奇怪(至少对那些熟悉拉丁字符的人来说),但即使是基于拉丁语的人也有微小的变化。

我非常熟悉其中的两个是希腊语和德语:

Αα Ββ Γγ Δδ Εε Ζζ  Ηη Θθ Ιι Κκ Λλ Μμ
Νν Ξξ Οο Ππ Ρρ Σσς Ττ Υυ Φφ Χχ Ψψ Ωω

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';

了。在一家认真对待i18n的公司做类似的事情是接近解雇的理由。使用支持Unicode的toLower()/toUpper() - 类型函数是更好的方法。

答案 1 :(得分:3)

除了我们大多数人习惯在这里看到的通常的拉丁语西欧字母之外,还有很多字母表。首先,您需要大写和小写版本的重音字母和连字,如Àà,IJij等。在亚洲语言中设置文档时也会使用拉丁字符的全宽版本(我懒得查看)。此外,现在还有其他字母表,如西里尔语(Бб)和希腊语(Δδ)字母表。

根据杰夫阿特伍德的说法,还有土耳其,just kind of difficult。使用环境提供的大写/小写功能(通常)是用户输入数据的方式。

答案 2 :(得分:3)

德语中不需要大写ß,因为该字母从未用作名称或单词的首字母。对于其他语言(法语?),不使用大写重音字符,只使用非重音变体。

答案 3 :(得分:2)

任何带重音的字母都可能具有不同的代码点,或者是多个代码点的组合。例如,ÂËÕÝ是具有小写等价物的大写字符。

关键是要忠实地实施有关用户区域设置的标准,或者通过使用正确处理toupper()/ tolower()的一般情况的系统库来获得相同的效果。

答案 4 :(得分:1)

  
    

在某些语言(法语?)中不使用大写重音字符(...)
    [Reiner Bakels - 12年10月12日19:34]

  

嗯,是的......但是没有!

在手动“字体”页面制作的好时代,曾经是真实的。 由于一个突出的大写字母(例如“É”)会在一条线上升得太高,通常的做法是忽略它而只是显示“E”。然后“desétudes”通常出现为“DES ETUDES”(没有重音)。

但不建议这样做了。每当人们可以编辑/输入/发布强调的大写字母时,我们都会被邀请。非常官方的魁北克省“Office de lalanguefrançaise”实际上已经推广了二十多年!

在我们的计算机和网络时代,这一点变得特别重要,因为文本被机器越来越多地处理(读取和翻译)。省略重音可以完全改变意义。 tache(stain)-vs-tâche(任务),du(of)-vs-dû(你需要支付的东西),以及更多的单词。 继续省略大写的重音肯定不是一个好主意(虽然是世纪遗产)。现在可以使用它们是一种更好的做法。