./converters/py-zbase32, Alternate base32 encoder (not RFC 3548 compliant)

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: pkgsrc-2010Q3, Version: 1.1.2, Package name: py26-zbase32-1.1.2, Maintainer: gdt

An alternate base32 encoder (not RFC 3548 compliant).

The rationale for base-32 encoding in RFC 3548 [1] is as written therein: "The
Base 32 encoding is designed to represent arbitrary sequences of octets in a
form that needs to be case insensitive but need not be humanly readable.".

The rationale for our encoding is different -- it is to represent arbitrary
sequences of octets in a form that is as convenient as possible for human
users to manipulate. In particular, z-base-32 was created in order to serve
the Mnet project [3], where 30-octet cryptographic values are encoded into
URIs for humans to manipulate. Anticipated uses of these URIs include cut-
and-paste, text editing (e.g. in HTML files), manual transcription via a
keyboard, manual transcription via pen-and-paper, vocal transcription over
phone or radio, etc.

The desiderata for such an encoding are:

* minimizing transcription errors -- e.g. the well-known problem of confusing
`0' with `O'
* embedding into other structures -- e.g. search engines, structured or
marked-up text, file systems, command shells
* brevity -- Shorter URLs are better than longer ones.
* ergonomics -- Human users (especially non-technical ones) should find the
URIs as easy and pleasant as possible. The uglier the URI looks, the worse.


Required to run:
[lang/python26] [devel/py-setuptools]

Master sites:

SHA1: 1535ccc3df1c6cfd70358b45d2a7615c35702451
RMD160: 6b57478da03c2f67fa006bad92193fe1ce0b3a17
Filesize: 21.036 KB

Version history: (Expand)