rebus - Generate base64-encoded strings consisting of alphanumeric symbols only.
Project description
Generate base64-encoded strings consisting of alphanumeric symbols only.
Why did I make this app?
Recently I have been working on implementing of a Google Authenticator app for Plone (which I did for my beloved company - Goldmund, Wyldebeast & Wunderliebe).
For generating of a bar code image, I needed a base32 encoded string. While Android devices could perfectly scan all bar-code image that I would generate, Apple devices would raise errors on bar code images which were generated using strings that contain one or more “=” characters.
The solution found was to add a number of \n at the end of the string to be encoded.
If you happen to experience similar problems, you know what to do.
Prerequisites
Python 2.6.8+, 2.7.+, 3.3.+
Installation
Install latest stable version from PyPI:
$ pip install rebus
…or latest stable version from GitHub:
$ pip install -e git+https://github.com/barseghyanartur/rebus@stable#egg=rebus
…or latest stable version from BitBucket:
$ pip install -e hg+https://bitbucket.org/barseghyanartur/rebus@stable#egg=rebus
Usage and examples
Using rebus is damn easy. Whenever you would want to use base64.b32encode or base64.b64encode, replace base64 with rebus.
Encoding
Required imports
>>> import rebus
b32encode string
>>> rebus.b32encode('abcdefg') 'MFRGGZDFMZTQUCQK'
b64encode string
>>> rebus.b64encode('abcdefg') 'YWJjZGVmZwoK'
urlsafe_b64encode
>>> rebus.urlsafe_b64encode('abcdefg') 'YWJjZGVmZwoK'
Decoding
It’s possible to decode string, encoded with rebus to their original values.
Required imports
>>> import rebus
b32decode string
>>> rebus.b32decode('MFRGGZDFMZTQUCQK') 'abcdefg'
b64decode string
>>> rebus.b64decode('YWJjZGVmZwoK') 'abcdefg'
urlsafe_b64encode
>>> rebus.urlsafe_b64decode('YWJjZGVmZwoK') 'abcdefg'
License
GPL 2.0/LGPL 2.1
Support
For any issues contact me at the e-mail given in the Author section.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.