【问题标题】:Encoding numbers with base62 and base36用 base62 和 base36 编码数字
【发布时间】:2017-07-18 06:13:47
【问题描述】:

目前我有一些将数字转换为 base62 格式的代码

这很好,但是当将数据放入数据库时​​,可能会以两个相同的 base62 字符串结束(但大小写不同)

eg. SsUTF1 and Ssutf1

要解决这个问题,base36 是否是 base62 的可行替代方案?我对此非常有限的理解是 base36 不会产生相同的字符串,但另一方面,我假设更大数字的字符长度在 base 36 上可能比 base 62 更长?

如果我在数据库中已经有了 base62 的字符串,那么在切换到 base36 后是否可能会出现重复?鉴于将派生字符串的基数永远不会相同。

【问题讨论】:

    标签: php base


    【解决方案1】:

    鉴于基数不同,base36 的表示总是不同的。如果您使用区分大小写或二进制比较方法进行比较,base62 也是如此。

    同样base36 表示的相同数字可能比base62 更长。假设我们有 10 个职位,这意味着我们可以代表:

    • base36 36E10 = 3 656 158 440 062 976 个可能性
    • base62 62E10 = 839 299 365 868 340 224 种可能性

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-18
      • 1970-01-01
      • 2011-03-14
      • 1970-01-01
      相关资源
      最近更新 更多