SMS 内で短縮リンクを送信するために、Base32 エンコーディングで yoururls を使用しています。URL の前にメッセージが表示されます。SMS は 160 文字に制限されており、私のメッセージは約 140 文字なので、文字数には十分注意する必要があります。
私の質問はこれです。base32 エンコーディングを使用して 4 文字の制限に収まる URL の数を計算するにはどうすればよいですか?
SMS 内で短縮リンクを送信するために、Base32 エンコーディングで yoururls を使用しています。URL の前にメッセージが表示されます。SMS は 160 文字に制限されており、私のメッセージは約 140 文字なので、文字数には十分注意する必要があります。
私の質問はこれです。base32 エンコーディングを使用して 4 文字の制限に収まる URL の数を計算するにはどうすればよいですか?
permutationsについて質問しているかどうかはわかりません。
base32 エンコーディングの各文字は、32 個の値 ([A - Z] および [2 - 7]) を持つことができます。の形式を使用する場合http://yoursite.com/xxxx
、xxxx
は短い URL であり、4 桁で 32 4の順列を含めることができます。つまり、1,048,576です。
3 桁の URL (例: ) も含めると、32 3の順列http://yoursite.com/xxx
を持つことができます。つまり、32,768です。4 桁の URL を合わせると、合計1,081,344になります。
2 桁の URL (例: ) も使用するhttp://yoursite.com/xx
と、さらに 1,024 個の URL を取得し、合計で1,082,368個になります。1 桁の数字 (例: http://yoursite.com/x
) を含めると、さらに 32 になり、合計で1,082,400になります。
ただし、[A - Z] と [2 - 7] だけを使用する必要はありません。RFC3986に従って、文字を使用できます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)
文字を省略しても-._~:/?#[]@!$&'()*+,;=
、短縮 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)