这个配置有多少个URL?

时间:2014-08-27 08:44:52

标签: encoding url-shortener base32

我正在使用带有Base32编码的yoururls在短信中发送缩短的链接。 URL前面有一条消息,因为sms限制为160个字符,而我的消息大约是140个字符,我需要非常小心字符数。

我的问题是这个;如何使用base32编码计算我可以使用4个字符限制的URL数量?

1 个答案:

答案 0 :(得分:0)

我不确定你是否在询问permutations

base32编码中的每个字符可以有32个值([A - Z]和[2 - 7])。如果您使用http://yoursite.com/xxxx形式,其中xxxx是短网址,则四位数字可以包含32个 4 排列。也就是说, 1,048,576

如果您还包含三位数的网址(例如http://yoursite.com/xxx),则可以包含32个 3 排列。也就是说, 32,768 。连同四位数的URL,您总共获得 1,081,344

如果您还使用2位数网址(例如http://yoursite.com/xx),则会获得额外的1,024个网址,总计 1,082,368 。包括单个数字(例如http://yoursite.com/x)将为您提供额外的32.总计 1,082,400


但是你不需要只使用[A - Z]和[2 - 7]。根据{{​​3}},您可以使用字符ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~:/?#[]@!$&'()*+,;=。这是84个不同的角色。有了这个:

http://yoursite.com/xxxx               49,787,136
http://yoursite.com/xxx added          50,379,840 (+592,704)
http://yoursite.com/xx added           50,386,896 (+  7,056)
http://yoursite.com/x added            50,386,980 (+     84)

即使您遗漏了字符-._~:/?#[]@!$&'()*+,;=,因为它们实际上不适合缩短的网址,您仍然会获得62个字符。有了这个:

http://yoursite.com/xxxx               14,776,336
http://yoursite.com/xxx added          15,014,664 (+238,328)
http://yoursite.com/xx added           15,018,508 (+  3,844)
http://yoursite.com/x added            15,018,570 (+     62)