Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

A generic base-conversion library for Python.

Project Description
h2. What is baseconv?

baseconv is a generic _base conversion_ library for Python. It allows you to
convert any number between binary, hexadecimal, decimal, octal or any other
base you can define. A base is a method of representing numbers; using two or
more different _words_ you can represent any conceivable number using an
ordered combination of those words. For example, the _decimal_ base is made up
of 10 words: 0, 1, 2, 3, 4, 5, 6, 7, 8 and 9. _Binary_ uses only 0 and 1.

h2. Usage

h3. Installation

To install baseconv, simply pull the repository using @git@ (for more info
consult the "github documentation":, @cd@ into the
directory and run the following command as root:

python install

This will copy to Python's @site-packages@ directory, and you
can then import the library in your code via @import baseconv@.

h3. Using the Library In Your Code

In order to carry out the most common features of base conversion, the library
comes equipped with the pre-defined bases @DECIMAL@, @BINARY@, @HEXADECIMAL@,
@OCTAL@, @ALPHA\_LOWER@, @ALPHA\_UPPER@ and @ALPHA@. This means you can, out
of the box, convert between all of these bases. An example usage case is shown
below; note that numbers are held as instances of the @baseconv.Number@ class,
and bases as @baseconv.Base@ instances. The attributes @decimal@, @base@,
@values@ and @indices@ are all Python _descriptors_; setting or otherwise
changing one will cause the number's other attributes to update. The following
code sample shows how you might use the library in a basic way:

>>> from baseconv import \*
>>> num = BINARY('1010011010') # Create a number
>>> num # Show the representation of a number
Number(BINARY, '1010011010')
>>> num.decimal
>>> num.decimal = 423 # Change a number's decimal value
>>> num # The number's binary value has changed automatically
Number(BINARY, '110100111')
>>> num.base = HEXADECIMAL # Change a number's base
>>> num
Number(HEXADECIMAL, '1A7')
>>> print num # Print a number as a string; also accessible via str(num)
>>> num.values # The sequence of base-words that this number represents
>>> num.values = 'FFC0DE' # Set this numbers values list
>>> num # Number has changed accordingly
>>> num.indices # The decimal value of each word in this number
[15, 15, 12, 0, 13, 14]
>>> num.indices = [1, 10, 7] # Set this number's indices attribute
>>> num
Number(HEXADECIMAL, '1A7')

h2. About the Author

My name is Zachary Voase, and you can get to my personal home page (which has links to all my other pages) "here":
Release History

Release History

This version
History Node


Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting