词语定序,或称定序(英语:Collation,目前没有公认的译名,但不少资讯领域者,如微软[1],根据其内涵而译作“定序”,或有译作“文字排序”[注 1]),是指在计算机科学图书馆学、词典编撰中书写信息的标准排序。如数值序英语numerical order或者字母序 。形式上说,定序方法对所有可能的标识符(即排序键英语sort key)集合定义了一个全序,因此在信息项的集合上产生了一个全预序英语total preorder(因为具有相同的排序键英语sort key的信息项没有预定次序)。

定序算法,如统一码定序算法,则定义如何比较两个字符串确定何者在先。

数值序或者编年序 编辑

表示数值(或时间)的字符串按照其表示的数值,例如: "-4", "2.5", "10", "89", "30,000". 注意可能会存在偏序情况,如"2"与"2.0","2e3"与"2000"。

字母序 编辑

字母序,也称词典序。常见问题有:

  • 空白符英语Whitespace character(如空格符)如何处理;
  • 附加符号。法语中把带附加符号的字符都当作基本字符来排序。德语的“电话簿序”中,Ä, Ö, Ü应当作为 "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"排序。

参见 编辑

外部链接 编辑

注释 编辑

  1. ^ collation不限于字母排序,而是字符串的排序规则。

参考文献 编辑

  1. ^ 檢視定序資訊 - SQL Server. docs.microsoft.com. 微软. [2021-11-17] (中文(台湾)).