org.python.modules

## Class binascii

- java.lang.Object
- - org.python.modules.binascii

    public class binascii
    extends java.lang.Object

The `binascii.java` module contains a number of methods to convert between binary and various ASCII-encoded binary representations. Normally, you will not use these modules directly but use wrapper modules like `uu` or `hexbin` instead, this module solely exists because bit-manipulation of large amounts of data is slow in Python.

The `binascii.java` module defines the following functions:

`a2b_uu` (string)
  Convert a single line of uuencoded data back to binary and return the binary data. Lines normally contain 45 (binary) bytes, except for the last line. Line data may be followed by whitespace.
`b2a_uu` (data)
  Convert binary data to a line of ASCII characters, the return value is the converted line, including a newline char. The length of data should be at most 45.
`a2b_base64` (string)
  Convert a block of base64 data back to binary and return the binary data. More than one line may be passed at a time.
`b2a_base64` (data)
  Convert binary data to a line of ASCII characters in base64 coding. The return value is the converted line, including a newline char. The length of data should be at most 57 to adhere to the base64 standard.
`a2b_hqx` (string)
  Convert binhex4 formatted ASCII data to binary, without doing RLE-decompression. The string should contain a complete number of binary bytes, or (in case of the last portion of the binhex4 data) have the remaining bits zero.
`rledecode_hqx` (data)
  Perform RLE-decompression on the data, as per the binhex4 standard. The algorithm uses `0x90` after a byte as a repeat indicator, followed by a count. A count of `0` specifies a byte value of `0x90`. The routine returns the decompressed data, unless data input data ends in an orphaned repeat indicator, in which case the `Incomplete` exception is raised.
`rlecode_hqx` (data)
  Perform binhex4 style RLE-compression on data and return the result.
`b2a_hqx` (data)
  Perform hexbin4 binary-to-ASCII translation and return the resulting string. The argument should already be RLE-coded, and have a length divisible by 3 (except possibly the last fragment).
`crc_hqx` (data, crc)
  Compute the binhex4 crc value of data, starting with an initial crc and returning the result.
`Error`
  Exception raised on errors. These are usually programming errors.
`Incomplete`
  Exception raised on incomplete data. These are usually not programming errors, but may be handled by reading a little more data and trying again.

The module is a line-by-line conversion of the original binasciimodule.c written by Jack Jansen, except that all mistakes and errors are my own.

Version:
  binascii.java,v 1.6 1999/02/20 11:37:07 fb Exp
Author:
  Finn Bock, bckfnn@pipmail.dknet.dk

### Field Summary

Fields
`static java.lang.String` `__doc__`
`static PyString` `__doc__a2b_base64`
`static PyString` `__doc__a2b_hqx`
`static PyString` `__doc__a2b_qp`
`static PyString` `__doc__a2b_uu`
`static PyString` `__doc__b2a_base64`
`static PyString` `__doc__b2a_hex`
`static PyString` `__doc__b2a_hqx`
`static PyString` `__doc__b2a_qp`
`static PyString` `__doc__b2a_uu`
`static PyString` `__doc__crc_hqx`
`static PyString` `__doc__rlecode_hqx`
`static PyString` `__doc__rledecode_hqx`
`static PyString` `a2b_hex$doc`
`static PyObject` `Error`
`static PyObject` `Incomplete`

### Constructor Summary

Constructors
Constructor and Description
`binascii()`

### Method Summary

All Methods Static Methods Concrete Methods
`static PyString` `a2b_base64(PyObject text)` Convert a block of base64 data back to binary and return the binary data.
`static PyString` `a2b_hex(PyObject hexstr)`
`static PyTuple` `a2b_hqx(PyObject text)` Convert binhex4 formatted ASCII data to binary, without doing RLE-decompression.
`static PyString` `a2b_qp(PyObject[] arg, java.lang.String[] kws)`
`static PyString` `a2b_uu(PyObject text)` Convert a single line of uuencoded data back to binary and return the binary data.
`static PyString` `b2a_base64(PyObject data)` Convert binary data to a line of ASCII characters in base64 coding.
`static PyString` `b2a_hex(PyObject data)`
`static PyString` `b2a_hqx(PyObject data)` Perform hexbin4 binary-to-ASCII translation and return the resulting string.
`static PyString` `b2a_qp(PyObject[] arg, java.lang.String[] kws)`
`static PyString` `b2a_uu(PyObject data)` Convert binary data to a line of ASCII characters, the return value is the converted line, including a newline char.
`static int` `crc_hqx(PyObject data, int crc)` Compute the binhex4 crc value of data, starting with an initial crc and returning the result.
`static int` `crc32(PyObject bp)`
`static int` `crc32(PyObject data, long long_crc)`
`static PyObject` `exceptionNamespace()`
`static PyString` `hexlify(PyObject argbuf)`
`static PyString` `rlecode_hqx(PyObject data)` Perform binhex4 style RLE-compression on data and return the result.
`static PyString` `rledecode_hqx(PyObject data)` Perform RLE-decompression on the data, as per the binhex4 standard.
`static PyString` `unhexlify(PyObject argbuf)`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### __doc__

    public static java.lang.String __doc__

#### Error

    public static final PyObject Error

#### Incomplete

    public static final PyObject Incomplete

#### __doc__a2b_uu

    public static PyString __doc__a2b_uu

#### __doc__b2a_uu

    public static PyString __doc__b2a_uu

#### __doc__a2b_base64

    public static PyString __doc__a2b_base64

#### __doc__b2a_base64

    public static PyString __doc__b2a_base64

#### __doc__a2b_hqx

    public static PyString __doc__a2b_hqx

#### __doc__rlecode_hqx

    public static PyString __doc__rlecode_hqx

#### __doc__b2a_hqx

    public static PyString __doc__b2a_hqx

#### __doc__rledecode_hqx

    public static PyString __doc__rledecode_hqx

#### __doc__crc_hqx

    public static PyString __doc__crc_hqx

#### __doc__b2a_hex

    public static PyString __doc__b2a_hex

#### a2b_hex$doc

    public static PyString a2b_hex$doc

#### __doc__a2b_qp

    public static final PyString __doc__a2b_qp

#### __doc__b2a_qp

    public static final PyString __doc__b2a_qp

### Constructor Detail

#### binascii

    public binascii()

### Method Detail

#### exceptionNamespace

    public static PyObject exceptionNamespace()

#### a2b_uu

    public static PyString a2b_uu(PyObject text)

Convert a single line of uuencoded data back to binary and return the binary data. Lines normally contain 45 (binary) bytes, except for the last line. Line data may be followed by whitespace.

#### b2a_uu

    public static PyString b2a_uu(PyObject data)

Convert binary data to a line of ASCII characters, the return value is the converted line, including a newline char. The length of data should be at most 45.

#### a2b_base64

    public static PyString a2b_base64(PyObject text)

Convert a block of base64 data back to binary and return the binary data. More than one line may be passed at a time.

#### b2a_base64

    public static PyString b2a_base64(PyObject data)

Convert binary data to a line of ASCII characters in base64 coding. The return value is the converted line, including a newline char.

#### a2b_hqx

    public static PyTuple a2b_hqx(PyObject text)

Convert binhex4 formatted ASCII data to binary, without doing RLE-decompression. The string should contain a complete number of binary bytes, or (in case of the last portion of the binhex4 data) have the remaining bits zero.

#### rlecode_hqx

    public static PyString rlecode_hqx(PyObject data)

Perform binhex4 style RLE-compression on data and return the result.

#### b2a_hqx

    public static PyString b2a_hqx(PyObject data)

Perform hexbin4 binary-to-ASCII translation and return the resulting string. The argument should already be RLE-coded, and have a length divisible by 3 (except possibly the last fragment).

#### rledecode_hqx

    public static PyString rledecode_hqx(PyObject data)

Perform RLE-decompression on the data, as per the binhex4 standard. The algorithm uses `0x90` after a byte as a repeat indicator, followed by a count. A count of `0` specifies a byte value of `0x90`. The routine returns the decompressed data, unless data input data ends in an orphaned repeat indicator, in which case the `Incomplete` exception is raised.

#### crc_hqx

    public static int crc_hqx(PyObject data,
                              int crc)

Compute the binhex4 crc value of data, starting with an initial crc and returning the result.

#### crc32

    public static int crc32(PyObject bp)

#### crc32

    public static int crc32(PyObject data,
                            long long_crc)

#### b2a_hex

    public static PyString b2a_hex(PyObject data)

#### hexlify

    public static PyString hexlify(PyObject argbuf)

#### a2b_hex

    public static PyString a2b_hex(PyObject hexstr)

#### unhexlify

    public static PyString unhexlify(PyObject argbuf)

#### a2b_qp

    public static PyString a2b_qp(PyObject[] arg,
                                  java.lang.String[] kws)

#### b2a_qp

    public static PyString b2a_qp(PyObject[] arg,
                                  java.lang.String[] kws)