Unicode小写字符是什么?

6

我在某个地方读到,Unicode中除了A-Z之外还有一些具有小写等效物的字符。这些字符是什么,为什么其他字符需要大小写呢?


12
如果你动动脑筋呢? - alamar
6
多么幼稚的问题。难道你没有考虑到英语以外还有其他语言,使用的字母表也不一定是拉丁字母表吗? - Gumbo
2
alamar:你应该把那个评论变成一个答案 :) - Paul Fisher
那个注释毫无意义! - Robin Rodricks
5个回答

12

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

我比较熟悉的两种语言是希腊语和德语:

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

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()函数是更好的选择。


7
在德语中,情况比这更加复杂:虽然大写的 "ß" 最近获得了 Unicode 码点,但实际上并没有大写的 "ß" 字符。大写 "ß" 的唯一正确渲染方式是 "SS"。如果你要从大写转换为小写,你会遇到麻烦,因为你不知道 "SS" 在小写时应该是 "ss" 还是 "ß"。是的,有带有大写 "ß" 的字体,但这并不意味着它是德语字母表中的有效字符。我从未见过在提到这些字体时以外的地方使用大写 "ß"。 - Ludwig Weinzierl
1
ß实际上是一个连字吗?它是一种老式的“长s”与终止s相结合。在《独立宣言》的旧版印刷中,你会看到类似的英文单词(如“pursuit of happiness”看起来像“purfuit of happinefs”)。在计算机排版出现之前,fl、fi和ffl的连字在英文书籍中很常见。但这些并不被视为单个字符。 - Mark Lutton
这是一个连字符,没错,“eszett”名称中的“sz”很明显。 - paxdiablo

4

除了我们大多数人习惯看到的拉丁字母衍生的西欧字母表之外,还有许多其他字母表。首先,您需要大写和小写版本的带重音字母和连字号,例如Àà、IJij等。在设置亚洲语言文档时还有全角版的拉丁字符。此外,现在还有其他使用的字母表,如西里尔字母(Бб)和希腊字母(Δδ)。

还有土耳其语,根据Jeff Atwood的说法,这种语言有点困难。使用环境提供的大写/小写功能通常是处理用户输入数据的方法。


4

在德语中,不需要大写ß,因为该字母从不用作名称或单词的首字母。对于其他语言,例如法语,可能也不使用带重音的大写字符,只使用非带重音的变体。


法语中确实有带重音的大写字母,比如:https://en.wikipedia.org/wiki/École_Polytechnique - Ciro Santilli OurBigBook.com

3
在某些语言(比如法语)中,大写带重音的字符并不常用...在手工制作“字体”页面的好时光里,这是真的。由于带重音的大写字母(例如“É”)会在一行上升得太高,通常的做法是忽略它,只显示“E”。然后,“des études”通常会显示为“DES ETUDES”(没有重音)。但现在不再推荐这样做了。每当我们可以编辑/输入/发布带重音的大写字母时,我们都应该这样做。加拿大魁北克省非常官方的“Office de la langue française”自20多年以来就一直在推广这种做法!在我们计算机和网络时代,文本越来越多地被机器处理(读取和翻译)。省略重音可能会完全改变意义。tache(污渍)-vs- tâche(任务),du(of)-vs- dû(你必须付款的东西)等许多单词。继续省略大写字母上的重音绝对不是一个好主意(尽管有百年的历史)。在任何可能的情况下使用它们是一个更好的做法。

2
任何带有重音符号的字母都可能具有不同的代码点,或者是由多个代码点组合而成。例如,ÂËÕÝ是具有小写等价字符的大写字符。
关键是要忠实地按照用户的语言环境设置来实现标准,或者使用能够正确处理toupper()/tolower()一般情况的系统库来达到相同的效果。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接