在 Ruby 中压缩 MongoDB 对象 ID
我正在寻找一种将对象的 ID 编码为较小字符串的方法以及再次对其进行解码的方法。
基本上我想要一个ID“47cc67093475061e3d95369d”变成类似“adff232”的东西......a'la bit.ly等等。
有没有什么gem可以做到这一点?
谢谢!
I'm looking for a way to encode an object's ID into a smaller string and also a way to decode it again.
Basically I want for instance an ID "47cc67093475061e3d95369d" to turn into something like "adff232"… a'la bit.ly, etc.
Is there any gem to do this?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用base62编码。有几个宝石,但它应该像这样简单:
在您的示例中,您的输出将是
sTIRzdDETzTR6YOh
。Use base62 encoding. There are several gems, but it should be as simple as:
In your example case, your output would be
sTIRzdDETzTR6YOh
.如果您不打算显示压缩后的字符串,可以使用
pack
和unpack
将id
压缩一半:If you don't intend to display the compressed string, you can compress the
id
by half withpack
andunpack
: