关于大写:Unicode小写字符

Unicode lowercase characters?

我在某个地方读到,在Unicode中,除了a-z之外,还有其他字符的小写等价物。这些可能是什么?为什么其他角色需要大写和小写?


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

我所熟悉的其中两种语言并非偶然,而是希腊语和德语:

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

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

这就是为什么我们不允许使用如下代码:

1
char lower = upper - 'A' + 'a';

再。在一家严肃对待I18N的公司里做这种事,几乎是被解雇的理由。使用支持Unicode的toLower()/toUpper()类型函数是更好的方法。


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


除了通常拉丁语衍生的西欧字母之外,还有很多其他的字母,我们大多数人都习惯在这里看到。首先,你需要重音字母和连缀的大小写版本,比如_,?等等。还有一些拉丁字符的全角版本,在用亚洲语言设置文档时使用(我懒得查找)。此外,现在还使用其他字母,如西里尔字母(Бб)和希腊字母(Δδ)。

还有火鸡,据杰夫·阿特伍德说,这有点难。使用由您的环境提供的大写/小写函数(通常)是处理用户输入数据的方法。


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

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


in some languages (French?) uppercase accented characters are not used (...)
[Reiner Bakels - Dec 10 '12 at 19:34]

< /块引用>

嗯,是的…但是不!

在手工制作"字体"页面的好时代,这是事实。因为一个突出的大写字母("_"例如)会在一行中上升得太高,通常的做法是忽略它,而只是显示"e"。然后"des_itunes"通常出现为"des etudes"(无重音)。

但这已不再被推荐了。无论何时,只要你能编辑/打印/出版突出的大写字母,我们都会被邀请这样做。魁北克的"朗格法语办公室"非常正式?事实上,"这是从20多年来推动的!

这在我们的计算机和网络时代变得尤为重要,在这个时代,文本越来越多地被机器处理(阅读和翻译)。省略重音符号可以完全改变意思。TACE(染色)-vs-TACE(任务),DU(OF)-vs-D?(你必须支付的东西),还有更多的话。继续省略大写字母的重音显然不是一个好主意(尽管有百年历史)。在任何可能的地方使用它们都是一种更好的实践。