首先限制這裡說的中文指的是GB2312字符集。
一般來說,排序時中文字排在ASCII碼的後面。但嚴格說起來這個問題還比較複雜。
應該說這取決於排序程式。排序程式認為中文字排在ASCII碼的後面,那就是中文字排在ASCII碼的後面。
目前C/C++常用strcmp一類的函式對字串進行比較排序。中文字排在ASCII碼的後面。
系統目錄下有個排序程式sort.exe, 中文字排在ASCII碼的後面。
但不能排除有排序程式把中文字排在前面的。我曾經讀過程式把GB2312定義成short型別。如果按short型別排序,中文字就要排在前面了。
即使是strcmp和sort.exe, 也有顯著的不同。strcmp把大寫字母排前面,sort.exe則不分大小寫,有點兒像stricmp.
strcmp把“丐”排在“開”的後面,因為二級漢字的編碼在一級漢字的後面;而sort.exe把“丐”排在“開”的前面,因為按拼音字母順序gai在kai的前面。
首先限制這裡說的中文指的是GB2312字符集。
一般來說,排序時中文字排在ASCII碼的後面。但嚴格說起來這個問題還比較複雜。
應該說這取決於排序程式。排序程式認為中文字排在ASCII碼的後面,那就是中文字排在ASCII碼的後面。
目前C/C++常用strcmp一類的函式對字串進行比較排序。中文字排在ASCII碼的後面。
系統目錄下有個排序程式sort.exe, 中文字排在ASCII碼的後面。
但不能排除有排序程式把中文字排在前面的。我曾經讀過程式把GB2312定義成short型別。如果按short型別排序,中文字就要排在前面了。
即使是strcmp和sort.exe, 也有顯著的不同。strcmp把大寫字母排前面,sort.exe則不分大小寫,有點兒像stricmp.
strcmp把“丐”排在“開”的後面,因為二級漢字的編碼在一級漢字的後面;而sort.exe把“丐”排在“開”的前面,因為按拼音字母順序gai在kai的前面。