我想要一种在URL中表示整数的最短方式.例如,11234可以使用十六进制缩短为"2be2".由于base64使用的是64字符编码,因此应该可以使用比十六进制更少的字符来表示base64中的整数.问题是我无法弄清楚使用Python将整数转换为base64(以及再返回)的最简洁方法.
base64模块有处理字节串的方法 - 所以也许一个解决方案是将一个整数转换为二进制表示形式作为Python字符串...但我不知道如何做到这一点.
我需要生成特定格式的随机文本字符串.想要一些想法,以便我可以用Python编写代码.格式为<8位数> <15个字符串>.
我想为特定用例和我所针对的最终用户类型设计URL缩短器.我已经决定要根据自动递增的整数键在内部存储URL.然而,还需要将密钥表示给URL中的用户作为六位数的基数26(az*6)并且不可能基于递增的整数密钥来预测基本26 url密钥是什么.换句话说,第一个url键不应该是aaaaaa然后在下次有人创建url时它不应该是aaaaab等,并且没有循环生成随机的并且捕获到数据库中以查看它是否已经重复存在.
要求的第二部分(外部人员难以预测的基础26中的网址)是更有趣的部分.理想情况下,我希望将26 ^ 6范围内的所有数字的某种算法1-1映射到相同范围内的另一个数字,然后我可以在基数26中打印,并且我可以在算法上撤消而不是当我想查找网址时,需要存储在单独的表中.我怎么能做到这一点?