词语定序
词语定序,或称定序(英语:Collation,目前没有公认的译名,但不少资讯领域者,如微软[1],根据其内涵而译作“定序”,或有译作“文字排序”[注 1]),是指在计算机科学与图书馆学、词典编撰中书写信息的标准排序。如数值序或者字母序 。形式上说,定序方法对所有可能的标识符(即排序键)集合定义了一个全序,因此在信息项的集合上产生了一个全预序(因为具有相同的排序键的信息项没有预定次序)。
定序算法,如统一码定序演算法,则定义如何比较两个字符串确定何者在先。
数值序或者编年序
表示数值(或时间)的字符串按照其表示的数值,例如: "-4", "2.5", "10", "89", "30,000". 注意可能会存在偏序情况,如"2"与"2.0","2e3"与"2000"。
字母序
字母序,也称词典序。常见问题有:
- 空白符(如空格符)如何处理;
- 附加符号。法语中把带附加符号的字符都当作基本字符来排序。德语的“电话簿序”中,Ä, Ö, Ü应当作为 "ae", "oe", "ue" 来排序。因此,姓Müller/Mueller具有相同的排序位置。西班牙语的Ñ作为一个单独字母排在N之后.
- 姓名排序时,不论书写或印刷时的姓与名谁在先,可能需要先按照姓,再按照名排序。
- 以常见词(如"the" 或 "a")开头的信息项,排序时可能会忽略或者把这些前缀词移动到最后来排序。
- 爱尔兰与苏格兰姓的常见前缀M'或Mc,可视作是MaC的缩写,排序时按照非缩写形式。如McKinley被视作Mackintosh
- 连字(ligature),在英语中不被视作不同的字符,如Æ或Œ,排序时当作ae或ce。但在1994年之前的西班牙语, "CH"与"LL"作为单个字母,分别排在字母C与L之后,因此会如此排序“cinco, credo, chispa”或者“lomo, luz, llama”. 威尔士语中,CH, DD, FF, NG, LL, PH, RH, TH都作为单独的字母,排在其字符对的第一个字母之后(NG例外,排在G之后),因此有如下排序:A, B, C, CH, D, DD, E, F, FF, G, NG, H.
- 字母与数字混排,有时可按照先数字后字母,或者把数字用字母拼写后排序,如:1776按照"seventeen seventy-six"排序。
参见
外部链接
- 统一码定序演算法 (页面存档备份,存于互联网档案馆):统一码技术标准 #10
- Collation in Spanish(页面存档备份,存于互联网档案馆)
- Collation of the names of the member states of the United Nations
- Typographical collation for many languages(页面存档备份,存于互联网档案馆), as proposed in the List module of Cascading Style Sheets.
- Collation Charts: Charts demonstrating language-specific sorting orders in various operating systems and DBMS
- ICU Locale Explorer (页面存档备份,存于互联网档案馆) 使用国际统一码部件在线展示统一码定序演算
注释
- ^ collation不限于字母排序,而是字符串的排序规则。
参考文献
- ^ 檢視定序資訊 - SQL Server. docs.microsoft.com. 微软. [2021-11-17] (中文(台湾)).