gpt4 book ai didi

java - 在 Java 中将 UUID 编码为 Base62(而非 Base64)

转载 作者:行者123 更新时间:2023-11-30 07:44:41 26 4
gpt4 key购买 nike

我正在尝试缩短要嵌入到 URL 中的 UUID 值(作为 UUID 而不是字符串存储在数据库中)。我知道 URL 的 Base64,但我想看看我是否可以在没有破折号和下划线字符的情况下实现它。所以我想将 UUID 转换为 base62。经过大量谷歌搜索后,我发现:

  1. 没有这方面的标准(类似于 RFC2045),对吗?

  2. 最重要的是没有合适的实现。我发现了很多关于如何做到这一点的片段,但有一些注释说“这是一个天真的实现”之类的。是否有正确的实现(我不介意映射应该如何完成的确切解释,只要它正确完成)?

  3. Apache Commons Codec 和 Guava 中有一些基类针对 Base32 和 Base64 进行了扩展,但我发现针对 Base62 进行扩展并不容易。甚至有可能做到这一点(考虑到映射根本不同这一事实)吗?
    谢谢。

最佳答案

您可能想试试这个库:https://github.com/Devskiller/friendly-id

The FriendlyID library converts a given UUID (with 36 characters) to a URL-friendly ID (a "FriendlyID") which is based on Base62 (with a maximum of 22 characters), as in the example below:

   UUID                                        Friendly ID

c3587ec5-0976-497f-8374-61e0c2ea3da5 -> 5wbwf6yUxVBcr48AMbz9cb
| |
36 characters 22 characters or less

In addition, this library allows to:

  • convert from a FriendlyID back to the original UUID; and
  • create a new, random FriendlyID

关于java - 在 Java 中将 UUID 编码为 Base62(而非 Base64),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52414740/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com