ASCII码排序中文是在最后吧

来源:百度知道 编辑:UC知道 时间:2024/05/28 06:24:31

首先限制这里说的中文指的是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的前面。