詞語定序
詞語定序,或稱定序(英語: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] (中文(臺灣)).