将AWS URL转换为更短的内容(无数据库)

时间:2013-02-08 17:36:41

标签: url-rewriting amazon-web-services hex ascii

我们在网站上提供了一系列实际托管在AWS上的图像,它们的名称都是0E261DDA-CBB7-4B99-B863-6D7640DC2FD8.jpg。为了简单起见,通过我们的网站获取这些图像的路径基本上保持了图像的相同名称 - 我们只是删除破折号以使其缩短一点。

但是由于我们将通过Twitter分享这些图片的路径,我们希望字符串更短,但我们不希望使用数据库进行URL缩短(自行滚动或使用别人的)。宁愿只对字符串进行无损压缩方案。

鉴于AWS名称显然只使用十六进制字符,似乎将其转换为ascii(删除破折号后)至少会让我们进行一些压缩,并且很容易进行查找到服务器上的实际路径。

任何人都有/看过一些可以吐出与上述十六进制字符串相当的URL安全ascii的代码?

1 个答案:

答案 0 :(得分:1)

使用更高的基数。十六进制是16的基数。您可以使用更高的数字(在网址缩写中常见36个,但最多可以达到62个(10个数字,26个大写字母26个小写字母)

你的基础16字符串:

0E261DDACBB74B99B8636D7640DC2FD8

在36号基地:

U5LC6FOS2F9E70WW3KAT3KK8

在base 62中(比特不太可靠,区分大小写):

QhJL1gbuZhsyJOIQ3ia0u