下面描述的行为发生在Windows-7系统和Windows XP上。我们在双语环境中运作 - 英语和希伯来语。
在Windows资源管理器中,我们按名称对文件进行排序,列出它们的顺序不是我们所期望的。以下是按Windows资源管理器排序的文件名列表(所有文件都有.pdf后缀):
1G110033H-PP 19C050G-PP-ORB 19C050H-PPRM 19C100H-PPRM 19C-MBPS-PP 19C-MBPS-PP-1 29AAC050-PP 29AAC100-PP 29AAC100-PPUL 29B004064-PP 101AC050-PP 101AC100-PP 101B100-PPE 1091003G-PPFSUL 10108033G-PPSA 10125033H-PPM
在我看来,首先根据名称中第一个字母字符的位置对项目进行排序,然后,在这些组中,它们按“正常”字母数字顺序排序。
也就是说,在第一个位置具有字母字符的所有文件都在列表的顶部,接着是在第二个位置具有第一个字母字符的那些文件,接着是在第三个位置具有第一个字母字符的那些文件,依此类推。
另一种看待这种情况的方法是,在由数字和字母组成的文件名中,sort将名称中的第一组数字视为主要排序节点,其余名称为辅助排序节点。
现在我理解了排序逻辑,这不是一个大问题,但我想知道为什么会发生这种情况?