我有一个6位数字和一个31位数字(例如“ 234536”和“ 201103231043330430478311223582826”),我需要使用PHP在API中将其填充到相同的22个字符的字母数字字段中.我尝试将它们转换为以32为基数(不得不使用自定义函数,因为base_convert()不能很好地处理大数)并加入一个单字符定界符,但这只能使我降至26个字符.它是REST API,因此字符必须是URI安全的.
我真的很想这样做,而不创建数据库表,如果可能的话,交叉引用两个数字和另一个参考值.有什么建议么?
解决方法:
请改用基数62.前者为3.35个字符,后者为17.3个字符,总共22个字符.
>>> math.log(10**6)/math.log(62)
3.3474826039165504
>>> math.log(10**31)/math.log(62)
17.295326786902177