Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.codec.binary
Class Base32

    java.lang.Object
      org.apache.commons.codec.binary.BaseNCodec
          org.apache.commons.codec.binary.Base32

All Implemented Interfaces:
  BinaryDecoder, BinaryEncoder, Decoder, Encoder

    public class Base32

extends BaseNCodec

Provides Base32 encoding and decoding as defined by RFC 4648.

The class can be parameterized in the following manner with various constructors:

- Whether to use the "base32hex" variant instead of the default "base32"
- Line length: Default 76. Line length that aren't multiples of 8 will still essentially end up being multiples of 8 in the encoded data.
- Line separator: Default is CRLF ("\r\n")

This class operates directly on byte streams, and not character streams.

This class is not thread-safe. Each thread should use its own instance.

Since:
  1.5
Version:
  $Revision: 1157192 $
See Also:
  RFC 4648

Field Summary

Fields inherited from class org.apache.commons.codec.binary.BaseNCodec
`buffer, currentLinePos, eof, lineLength, MASK_8BITS, MIME_CHUNK_SIZE, modulus, PAD, PAD_DEFAULT, PEM_CHUNK_SIZE, pos`

Constructor Summary
`Base32()` Creates a Base32 codec used for decoding and encoding.
`Base32(boolean useHex)` Creates a Base32 codec used for decoding and encoding.
`Base32(int lineLength)` Creates a Base32 codec used for decoding and encoding.
`Base32(int lineLength, byte[] lineSeparator)` Creates a Base32 codec used for decoding and encoding.
`Base32(int lineLength, byte[] lineSeparator, boolean useHex)` Creates a Base32 / Base32 Hex codec used for decoding and encoding.

Method Summary
`boolean` | `isInAlphabet(byte octet)` Returns whether or not the `octet` is in the Base32 alphabet.

Methods inherited from class org.apache.commons.codec.binary.BaseNCodec
`containsAlphabetOrPad, decode, decode, decode, encode, encode, encodeAsString, encodeToString, ensureBufferSize, getDefaultBufferSize, getEncodedLength, isInAlphabet, isInAlphabet, isWhiteSpace`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Base32

    public Base32()

  Creates a Base32 codec used for decoding and encoding.

  When encoding the line length is 0 (no chunking).

### Base32

    public Base32(boolean useHex)

  Creates a Base32 codec used for decoding and encoding.

  When encoding the line length is 0 (no chunking).

  Parameters:
    `useHex` - if `true` then use Base32 Hex alphabet

### Base32

    public Base32(int lineLength)

  Creates a Base32 codec used for decoding and encoding.

  When encoding the line length is given in the constructor, the line separator is CRLF.

  Parameters:
    `lineLength` - Each line of encoded data will be at most of the given length (rounded down to nearest multiple of 8). If lineLength <= 0, then the output will not be divided into lines (chunks). Ignored when decoding.

### Base32

    public Base32(int lineLength,
                  byte[] lineSeparator)

  Creates a Base32 codec used for decoding and encoding.

  When encoding the line length and line separator are given in the constructor.

  Line lengths that aren't multiples of 8 will still essentially end up being multiples of 8 in the encoded data.

  Parameters:
    `lineLength` - Each line of encoded data will be at most of the given length (rounded down to nearest multiple of 8). If lineLength <= 0, then the output will not be divided into lines (chunks). Ignored when decoding.
    `lineSeparator` - Each line of encoded data will end with this sequence of bytes.
  Throws:
    `IllegalArgumentException` - The provided lineSeparator included some Base32 characters. That's not going to work!

### Base32

    public Base32(int lineLength,
                  byte[] lineSeparator,
                  boolean useHex)

  Creates a Base32 / Base32 Hex codec used for decoding and encoding.

  When encoding the line length and line separator are given in the constructor.

  Line lengths that aren't multiples of 8 will still essentially end up being multiples of 8 in the encoded data.

  Parameters:
    `lineLength` - Each line of encoded data will be at most of the given length (rounded down to nearest multiple of 8). If lineLength <= 0, then the output will not be divided into lines (chunks). Ignored when decoding.
    `lineSeparator` - Each line of encoded data will end with this sequence of bytes.
    `useHex` - if `true`, then use Base32 Hex alphabet, otherwise use Base32 alphabet
  Throws:
    `IllegalArgumentException` - The provided lineSeparator included some Base32 characters. That's not going to work! Or the lineLength > 0 and lineSeparator is null.

Method Detail

### isInAlphabet

    public boolean isInAlphabet(byte octet)

  Returns whether or not the `octet` is in the Base32 alphabet.

  Specified by:
    `isInAlphabet` in class `BaseNCodec`
  Parameters:
    `octet` - The value to test
  Returns:
    `true` if the value is defined in the the Base32 alphabet `false` otherwise.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002-2011 The Apache Software Foundation. All Rights Reserved.