国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQLite > 正文

Sqlite中文排序研究 (補充)

2024-09-07 00:09:59
字體:
來源:轉載
供稿:網友

[open source] 拼音排序函數庫發布

最近在做資源管理器的設計,SPEC要求中文文件名按拼音排序。于是花了點時間去研究關于拼音排序的問題,然后又花了兩小時寫了一個函數庫。其實知道了原理,按拼音排序的實現很簡單,放到這里供大家參考吧。

我們知道,計算機中的每一個字符都有一個內碼。在默認情況下,計算機排序時,比較兩個字符的大小就是比較字符內碼的大小,這對于英文來說沒有問題,因為英 文字母的內碼是按字母順序遞增的。對于中文來說,就比較麻煩了:首先,中文的排序方式有多種,比如按內碼排序、按拼音排序和按筆畫排序,要通過參數指定排 序的方式,否則計算機就按內碼排序了。其次,漢字的內碼順序即不同于拼音順序,也不同于按筆畫順序。在GB2312編碼中,漢字基本上按拼音排序(據說有例外,不太清楚)。在GBK中,它在GB2312基礎上進行了擴充,兼容GB2312中的所有字符,所以不是按拼音排序了。在Unicode中,漢字的排列似乎更沒有什么規律可言了。

為了解決內碼順序與用戶習慣順序(如拼音順序)的沖突,在glibclocale數據里,要求提供排序方式(collate)的描述。我看了一下glibc-2.3.5提供的locale數據,在簡體中文(zh_CN)locale數據描述里,關于排序方式的描述如下:

% ISO 14651 collation sequence

LC_COLLATE

copy "iso14651_t1"

END LC_COLLATE

也就是說,照抄iso14651_t1的排序方式。打開

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 织金县| 合作市| 郸城县| 房产| 宜昌市| 吴川市| 安达市| 沧州市| 闽侯县| 高雄县| 保山市| 元氏县| 泗阳县| 云安县| 安仁县| 大厂| 崇文区| 喀什市| 本溪| 兴安盟| 霍城县| 房山区| 义乌市| 四会市| 河间市| 龙南县| 安徽省| 延安市| 乐亭县| 库尔勒市| 永修县| 炎陵县| 错那县| 西藏| 贵阳市| 舞钢市| 新巴尔虎左旗| 交城县| 南郑县| 龙南县| 广丰县|