Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 钢轨编号至基础64或类似编号_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 钢轨编号至基础64或类似编号

Ruby on rails 钢轨编号至基础64或类似编号,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我正在开发一个URL缩短器,但我不确定如何做我想要的。我不知道像这样的网站不使用整数,但有些缺少哈希、十六进制或类似的东西。我的应用程序,目前只使用整数。我尝试过base64,但我注意到它只对字符串进行编码,并且将整数转换为字符串会提供比整数本身更长的键 无论如何,有一个转换使用所有大小写字母和数字,这样我就可以最大限度地减少可用的短网址的数量 我更喜欢将整数简单地转换为值,然后将值转换回整数。我不想为它分配一个随机的友好id以避免冲突。如果我没有弄错的话,很多URL缩短器都使用base 36(

我正在开发一个URL缩短器,但我不确定如何做我想要的。我不知道像这样的网站不使用整数,但有些缺少哈希、十六进制或类似的东西。我的应用程序,目前只使用整数。我尝试过base64,但我注意到它只对字符串进行编码,并且将整数转换为字符串会提供比整数本身更长的键

无论如何,有一个转换使用所有大小写字母和数字,这样我就可以最大限度地减少可用的短网址的数量


我更喜欢将整数简单地转换为值,然后将值转换回整数。我不想为它分配一个随机的友好id以避免冲突。

如果我没有弄错的话,很多URL缩短器都使用base 36(a-z,0-9)或base 58(a-z,a-z,0-9),这可能会满足您的需要。从自述文件中的示例来看,它应该是您想要的:

# Int to Base58
Base58.encode(12345) # => 4ER

# Base58 to Int
Base58.decode('A2Ph') # => 6639914

伟大的这正是我想要的。