如何将任意 url 转换成 10-12 个字符串

2016-05-10 21:51:57 +08:00
 wico77

使用 python 或者 nodejs 都可以。

3480 次点击
所在节点    问与答
32 条回复
loading
2016-05-11 08:39:11 +08:00
数据库,一列是原来的 url ,一列是缩短的。
这样楼主应该明白了,并不是压缩。,只是映射关系。
heaton_nobu
2016-05-11 09:11:00 +08:00
UrlRewrite ,要是自己写就存一份对应关系,不自己写就调用外部 api
Lucius
2016-05-11 09:22:47 +08:00
如果你们讨论出了方案 请告诉我。。
我想参考你们的方案 设计出把“任意蓝光电影转换成 10-12 个字符串”的算法。 然后去申请诺贝尔物理学奖
GTim
2016-05-11 09:35:13 +08:00
用自增的话建议 base36[0-9a-z]自家用,基本上足够,然后要保存三元组(id,md5_hash,raw_url)
dapang1221
2016-05-11 10:24:09 +08:00
@Lucius 看来必须要在开个诺贝尔魔法学奖了 2333
soland
2016-05-11 10:45:39 +08:00
255 字节
Thoxvi
2016-05-11 10:47:23 +08:00
数据库索引?
dixyes
2016-05-11 11:01:41 +08:00
我萌人类拍了多少部蓝光电影啊
假定有 1000w 部=1E7 部 吧
12 位 ascii 码有 7.92281625E28 组合 可行 可打印字符的话有 4.75920314E23 组合 似乎也可行((
可以假定有一种算法可以实现 4.76E23 个数到 1E7 的映射 只不过这个算法做出来目测可能比 1E7 部电影还大
dixyes
2016-05-11 11:03:08 +08:00
今年的诺贝尔扯淡学奖是我的了
lincanbin
2016-05-11 11:04:19 +08:00
你需要一个数据库。
lincanbin
2016-05-11 11:06:23 +08:00
但是这样也不会是任意 URL ,如果你用大小写字母加数字的话,也就最多映射(26*2+10)^10 个 URL 为 10 位以下的字符。
lslqtz
2016-05-11 11:26:33 +08:00
@ob 是复杂化了,但是我是直接想我能想到的最简单的方式来的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/277741

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX