reversePython的str对象没有内置函数.实现此方法的最佳方法是什么?
如果提供非常简洁的答案,请详细说明其效率.例如,是否将str对象转换为其他对象等.
Python允许从给定base的字符串中轻松创建整数
int(str, base).
Run Code Online (Sandbox Code Playgroud)
我想执行逆向:从整数创建一个字符串,即我想要一些函数int2base(num, base),这样:
int(int2base(x, b), b) == x
Run Code Online (Sandbox Code Playgroud)
函数名称/参数顺序并不重要.
对于任何数量x和底座b是int()会接受的.
这是一个很容易编写的函数:实际上它比在这个问题中描述它更容易.但是,我觉得我必须遗漏一些东西.
我知道的功能bin,oct,hex,但我不能使用他们的几个原因:
这些函数在旧版本的Python上不可用,我需要与它兼容(2.2)
我想要一个通用的解决方案,可以用不同的基础调用相同的方法
我想允许2,8,16以外的碱基
如何将整数转换为基数62(如十六进制,但使用这些数字:'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ').
我一直在努力为它找到一个好的Python库,但它们似乎都在转换字符串.Python base64模块只接受字符串并将一个数字转换为四个字符.我正在寻找类似于URL缩短器使用的东西.
GUID的标准字符串表示形式大约需要36个字符.哪个非常好,但也非常浪费.我想知道如何使用33-127范围内的所有ASCII字符以最短的方式对其进行编码.天真的实现产生22个字符,因为128位/6位产生22个字符.
霍夫曼编码是我的第二好,唯一的问题是如何选择代码....
当然,编码必须是无损的.
我怎样才能在Python中创建独特的URL http://imgur.com/gM19g或http://tumblr.com/xzh3bi25y 当使用python中的uuid时,我会得到一个非常大的URL .我想要更短的URL.
我正在创建一个链接缩短服务,我正在使用增量ID字段的base64编码/解码来创建我的URL.ID为"6"的网址为:http://mysite.com/Ng==
我还需要允许用户创建自定义网址名称,例如http://mysite.com/music
到目前为止,这是我的(可能是错误的)方法.帮助修复它将不胜感激.
当有人创建新链接时:
当有人创建新链接并传递自定义短网址时:
有没有更好的编码方法,可以让我把任何数量成短字符串,任何字符串转换成一个数字,这样我就可以随时查找短网址(无论是定制还是自动生成的)转动名字变成一个号码,查询链接ID等于那个数字?
快问.我试图在Python中查找或编写一个编码器,通过使用大写和小写字母缩短一串数字.数字字符串看起来像这样:
20120425161608678259146181504021022591461815040210220120425161608667
Run Code Online (Sandbox Code Playgroud)
长度总是一样的.
我最初的想法是编写一些简单的编码器来利用大写和小写字母和数字来缩短这个字符串,看起来更像是这样:
a26Dkd38JK
Run Code Online (Sandbox Code Playgroud)
这完全是武断的,只是想尽可能清楚.我确信有一种非常光滑的方式可以做到这一点,可能已经内置.也许这是一个令人尴尬的问题甚至要问.
此外,我需要能够采取缩短的字符串并将其转换回更长的数值.我应该写一些东西并发布代码,还是我应该已经知道的这是一个用Python函数构建的一行?
谢谢!
我知道也有类似的问题(例如this,this,this和this),但是我有特定的要求,并且正在寻找一种更便宜的方法来进行以下操作(在Django 1.10.2上):
希望URL中没有顺序/可猜测的整数ID,并且理想情况下满足以下要求:
注意:从长远来看,该应用程序可能有500万条记录。