Encoding 有多少个URL';这个配置有什么问题?

Encoding 有多少个URL';这个配置有什么问题?,encoding,url-shortener,base32,Encoding,Url Shortener,Base32,我正在使用带有Base32编码的YourURL在短信息中发送短链接。URL前面有一条消息,因为sms限制为160个字符,而我的消息大约为140个字符,所以我需要非常小心字符数 我的问题是,;如何计算使用base32编码的4个字符限制可以容纳多少URL?我不确定您是否在询问 base32编码中的每个字符可以有32个值([A-Z]和[2-7])。如果您使用表格http://yoursite.com/xxxx,其中xxxx是短URL,四位数字可以包含32个4个排列。也就是说,1048576 如果您还包

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


我的问题是,;如何计算使用base32编码的4个字符限制可以容纳多少URL?

我不确定您是否在询问

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

如果您还包括三位数字的URL(例如
http://yoursite.com/xxx
),您可以有32个3个排列。也就是说,32768。加上四位数的URL,您总共可以得到1081344

如果您还使用两位URL(例如
http://yoursite.com/xx
),您将获得额外的1024个URL,总计1082368。包括单个数字(例如
http://yoursite.com/x
)将为您提供额外的32。总计1082400


但是你不需要只使用[A-Z]和[2-7]。根据,您可以使用字符
abcdefghijklmnopqrstuvxyzabefghijklmnopqrstuvxyz012456789-.~:/?#[]@!$&'()*+,;=。这是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)
即使您省略了字符
-。~:/?#[]@!$&'()*+,;=,因为它们实际上不适合缩短的URL,所以您仍将获得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)

谢谢你的全面回答。这很好,除了你说A-Z是32进制的一部分。我想你是说a-z。不管怎样,我会在你帮助我理解它时奖励你。谢谢@Michael。我决定使用大写字母,因为它使用大写字母。见RFC表3。