为什么reddit使用base36作为文章ID?
例如:
a2xki
答案 0 :(得分:16)
Base 36是......最紧凑的 不区分大小写的字母数字 系统使用ASCII字符
通过仅使用字母数字字符并且不区分大小写,可以省去两种类型的错误:输入错误的情况(或文件系统问题和由于区分大小写引起的混淆),以及URL中的特殊字符。当URL包含根据RFC 2396保留的字符时,必须对这些字符进行转义(这会延长和扩大URL)。但是各种应用程序级错误也会使用未保留的字符,例如'
和!
不受欢迎(某些示例:1 2 {{3 }})。
即使使用字母数字和区分大小写的限制,基数36显然提供了比十进制更紧凑的表示,允许短和(可以说)清晰的ID。 3的ID为十进制36351705;在基数36中表示的字符减少3个。
答案 1 :(得分:5)
第二只是一些人(你可以用[a-z0-9]表示),另外,
答案 2 :(得分:2)
很容易通过电子邮件,口头,聊天窗口等方式向其他人提供。该URL肯定会允许更多字符,但这不会让人感到困惑,特别是如果您必须通过电话,视频,电视,甚至是从印刷品或报纸上打字。
这是非常人性化的。
答案 3 :(得分:1)
因为你可以用[a-z0-9]代表它,很可能。