Base62编码的Python模块
pybase62的Python项目详细描述
基准62
用于base62编码的python模块。从我编写的php代码移植而来 在2000年年中 here。
基本原理
在编写web应用程序时,我们常常希望保持url简短。
http://localhost/post/V1Biicwt
这当然比下面给出的看起来更简洁。
http://localhost/post/109237591284123
这是编写这个模块的最初动机,但是 这个模块更广泛的潜在用例。主要优势 base62是因为缺少 特殊字符,如/'或='。另一个关键方面是 编码时保留原始(未编码)数据的字母顺序。 换言之,编码的数据可以在根本不解码的情况下进行排序。
安装
base62可以通过pypi安装。不幸的是,包名 base62onpypi已经被其他人占用,所以我们不得不 通过pybase62。
pip install pybase62
或者,您可以克隆代码以手动安装它。
git clone https://github.com/suminb/base62 cd base62 && python setup.py install
用法
以下部分介绍base62的基本用法。
>>>importbase62>>>base62.encode(34441886726)'base62'>>>base62.decode('base62')34441886726
从版本0.2.0开始,base62也支持bytes数组编码。
>>>base62.encodebytes(b'\0')0>>>base62.encodebytes(b'\xff\xff')H31>>>base62.decodebytes('0')b''>>>base62.decodebytes('1')b'\x01'
测试
您可以运行一些测试用例来确保所有功能都是可操作的。
py.test -v
如果未安装pytest,则可能需要运行以下命令:
pip install -r tests/requirements.txt