1

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

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

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

任何人都已经/看过一些代码可以吐出与上述十六进制字符串等效的 URL 安全 ascii 吗?

4

1 回答 1

1

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

你的基数 16 字符串:

0E261DDACBB74B99B8636D7640DC2FD8

在基数 36 中:

U5LC6FOS2F9E70WW3KAT3KK8

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

QhJL1gbuZhsyJOIQ3ia0u
于 2013-02-08T19:00:15.563 回答