|
本文为 其乐用户(UID:230656) 发布的原创文章,转摘前请联系该用户获得许可
本帖最后由 230656 于 2026-8-27 02:21 编辑
> 前言 2026.8.25晚上无事盯着STEAM库看了下。结果突然对STEAM的收藏夹分类排序顺序好奇。
就上网搜索了一下是否有什么文章分析过STEAM的库页面的收藏夹分类排序。
查来查去找不到什么有效的信息。
倒是B站有视频提及在分类名字里面加空格能改排序。
最后8.26日也就是昨天。一整天都没打游戏,光研究这个排序了。
由于我连这方面是什么都说不清楚。最终借助deepseek来帮我测试、整理、总结。
最终用了一整天才和AI讨论出来一份结论。
这份结论可能有不足,有错误。水平有限没办法。
如果坛子里面有大佬是学这方面的或者懂的更多。可以做一份更详细的结论。
测试过程详见:https://www.bilibili.com/opus/1240933854181589015
deepseek的最终总结:
一:首字符决定大组,组间有严格优先级 从高到低依次为:
1、特殊置顶符号【#、*】,# 先于 *。
2、数字【0-9】,按字符 '0' 到 '9' 字典序。
3、Emoji / 表情符号。所有 Emoji,按 Unicode 码点升序。
4、普通 ASCII 符号【如 !、"、$、%、&、'、(、)、+、,、-、.、/、:、;、<、=、>、?、@、[、\、]、、_、`、{、|、}、】,按 ASCII 码点升序。
5、英文字母【A-Z】,不区分大小写。
6、中文等非 ASCII 字符【如汉字、零宽空格等】,按 Unicode 码点升序
注意:{、|、}、 虽然属于普通 ASCII 符号,但它们的码点大于 Z,所以实际排在 Z 之后、中文之前。更准确地说:首字符按大组排序,其中数字和 Emoji 被提升,# 和 * 被额外置顶;普通符号中码点小于 A 的排在字母前,码点大于 Z 的排在字母后。
注意修正:普通 ASCII 符号本身并没有被STEAM做二次拆分分组。普通 ASCII 符号的字符码点本身就存在区间:
ASCII码:【!】(33)‑【`】(96) 小于【A】(65)‑【Z】(90),这部分符号落在字母【A】(65)之前;
ASCII码: 【{】(123)、【|】(124)、【}】(125)、【~】(126) 码点大于【Z】(90),自然排序落在全部大写字母之后。
STEAM没有对普通符号与英文做 “拆成两部分” 的逻辑,纯粹是ASCII码本身的数值造成的分布结果。
二:组内排序规则
数字组:按字符 '0' 到 '9' 的升序,即字典序,不是数值大小。 例:0 < 001 < 01 < 1 < 10 < 2 < 9
Emoji 组:按 Unicode 码点升序。 例:→(U+2192) < ☀️(U+2600) < ❤️(U+2764) < 🍎(U+1F34E) < 😀(U+1F600)
普通 ASCII 符号组:按 ASCII 码点升序。 例:
- 空格 (U+0020)
- ! (U+0021)
- " (U+0022)
- # (U+0023)
- $ (U+0024)
- % (U+0025)
- & (U+0026)
- ' (U+0027)
- ( (U+0028)
- ) (U+0029)
- * (U+002A)
- + (U+002B)
- , (U+002C)
- - (U+002D)
- . (U+002E)
- / (U+002F)
- : (U+003A)
- ; (U+003B)
- < (U+003C)
- = (U+003D)
- > (U+003E)
- ? (U+003F)
- @ (U+0040)
- [ (U+005B)
- \ (U+005C)
- ] (U+005D)
- ^ (U+005E)
- _ (U+005F)
- ` (U+0060)
- { (U+007B)
- | (U+007C)
- } (U+007D)
- ~ (U+007E)
复制代码
英文字母组:不区分大小写,按 A 到 Z 顺序。 例:A < AA < AB < B < … < Z
中文等非 ASCII 字符组:按 Unicode 码点升序,与拼音、笔画无关。 例:一(U+4E00) < 二(U+4E8C) < 吃(U+5403) < … < 鹅(U+9E45) < 龥(U+9FA5)
三:多字符名称的比较规则
如果首字符相同,则从第二个字符开始,完全按 Unicode 码点(或 ASCII 码点)逐字符比较,不再有 #、* 的特殊提升,数字和 Emoji 也恢复正常码点顺序。
例如:
A1 < A10 < A2
10A < 1A
S!A < S#A < SA(说明:#、 在非首字符位置按正常码点排序)
R A < R-A < R.A < R1
四:空格与不可见字符的特殊性
新建条目:前导空格、制表符等会被自动去除,无法保留。
重命名条目:可以保留前导空格、制表符等,界面显示时可能隐藏,但排序时参与。
前导空格、制表符属于普通符号组,且按码点越小越靠前。
制表符 【U+0009】 < 空格 【U+0020】 < ! 【U+0021】
零宽空格 【U+200B】 属于非 ASCII 字符组,排在 之后、中文之前。
希望能在大家进行收藏夹分类时帮到大家。
可能有啥我漏掉或者不足的,欢迎讨论或者大佬自己测试一下。。
本来要去睡觉了突然想起来又跑来开电脑。如果本贴发错分区了,麻烦管理移动一下。
|