org.apache.commons.codec.net

Class QuotedPrintableCodec

public class QuotedPrintableCodec extends Object implements BinaryEncoder, BinaryDecoder, StringEncoder, StringDecoder

Codec for the Quoted-Printable section of RFC 1521 .

The Quoted-Printable encoding is intended to represent data that largely consists of octets that correspond to printable characters in the ASCII character set. It encodes the data in such a way that the resulting octets are unlikely to be modified by mail transport. If the data being encoded are mostly ASCII text, the encoded form of the data remains largely recognizable by humans. A body which is entirely ASCII may also be encoded in Quoted-Printable to ensure the integrity of the data should the message pass through a character- translating, and/or line-wrapping gateway.

Note:

Rules #3, #4, and #5 of the quoted-printable spec are not implemented yet because the complete quoted-printable spec does not lend itself well into the byte[] oriented codec framework. Complete the codec once the steamable codec framework is ready. The motivation behind providing the codec in a partial form is that it can already come in handy for those applications that do not require quoted-printable line formatting (rules #3, #4, #5), for instance Q codec.

Since: 1.3

Version: $Id: QuotedPrintableCodec.java 130351 2004-04-09 22:21:07Z ggregory $

Author: Apache Software Foundation

See Also: RFC 1521 MIME (Multipurpose Internet Mail Extensions) Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies

Field Summary
Stringcharset
The default charset used for string decoding and encoding.
static byteESCAPE_CHAR
static BitSetPRINTABLE_CHARS
BitSet of printable characters as defined in RFC 1521.
static byteSPACE
static byteTAB
Constructor Summary
QuotedPrintableCodec()
Default constructor.
QuotedPrintableCodec(String charset)
Constructor which allows for the selection of a default charset
Method Summary
byte[]decode(byte[] bytes)
Decodes an array of quoted-printable characters into an array of original bytes.
Stringdecode(String pString, String charset)
Decodes a quoted-printable string into its original form using the specified string charset.
Stringdecode(String pString)
Decodes a quoted-printable string into its original form using the default string charset.
Objectdecode(Object pObject)
Decodes a quoted-printable object into its original form.
static byte[]decodeQuotedPrintable(byte[] bytes)
Decodes an array quoted-printable characters into an array of original bytes.
byte[]encode(byte[] bytes)
Encodes an array of bytes into an array of quoted-printable 7-bit characters.
Stringencode(String pString)
Encodes a string into its quoted-printable form using the default string charset.
Objectencode(Object pObject)
Encodes an object into its quoted-printable safe form.
Stringencode(String pString, String charset)
Encodes a string into its quoted-printable form using the specified charset.
static voidencodeQuotedPrintable(int b, ByteArrayOutputStream buffer)
Encodes byte into its quoted-printable representation.
static byte[]encodeQuotedPrintable(BitSet printable, byte[] bytes)
Encodes an array of bytes into an array of quoted-printable 7-bit characters.
StringgetDefaultCharset()
Returns the default charset used for string decoding and encoding.

Field Detail

charset

private String charset
The default charset used for string decoding and encoding.

ESCAPE_CHAR

private static byte ESCAPE_CHAR

PRINTABLE_CHARS

private static final BitSet PRINTABLE_CHARS
BitSet of printable characters as defined in RFC 1521.

SPACE

private static byte SPACE

TAB

private static byte TAB

Constructor Detail

QuotedPrintableCodec

public QuotedPrintableCodec()
Default constructor.

QuotedPrintableCodec

public QuotedPrintableCodec(String charset)
Constructor which allows for the selection of a default charset

Parameters: charset the default string charset to use.

Method Detail

decode

public byte[] decode(byte[] bytes)
Decodes an array of quoted-printable characters into an array of original bytes. Escaped characters are converted back to their original representation.

This function implements a subset of quoted-printable encoding specification (rule #1 and rule #2) as defined in RFC 1521.

Parameters: bytes array of quoted-printable characters

Returns: array of original bytes

Throws: DecoderException Thrown if quoted-printable decoding is unsuccessful

decode

public String decode(String pString, String charset)
Decodes a quoted-printable string into its original form using the specified string charset. Escaped characters are converted back to their original representation.

Parameters: pString quoted-printable string to convert into its original form charset the original string charset

Returns: original string

Throws: DecoderException Thrown if quoted-printable decoding is unsuccessful UnsupportedEncodingException Thrown if charset is not supported

decode

public String decode(String pString)
Decodes a quoted-printable string into its original form using the default string charset. Escaped characters are converted back to their original representation.

Parameters: pString quoted-printable string to convert into its original form

Returns: original string

Throws: DecoderException Thrown if quoted-printable decoding is unsuccessful UnsupportedEncodingException Thrown if charset is not supported

See Also: getDefaultCharset

decode

public Object decode(Object pObject)
Decodes a quoted-printable object into its original form. Escaped characters are converted back to their original representation.

Parameters: pObject quoted-printable object to convert into its original form

Returns: original object

Throws: DecoderException Thrown if quoted-printable decoding is not applicable to objects of this type if decoding is unsuccessful

decodeQuotedPrintable

public static final byte[] decodeQuotedPrintable(byte[] bytes)
Decodes an array quoted-printable characters into an array of original bytes. Escaped characters are converted back to their original representation.

This function implements a subset of quoted-printable encoding specification (rule #1 and rule #2) as defined in RFC 1521.

Parameters: bytes array of quoted-printable characters

Returns: array of original bytes

Throws: DecoderException Thrown if quoted-printable decoding is unsuccessful

encode

public byte[] encode(byte[] bytes)
Encodes an array of bytes into an array of quoted-printable 7-bit characters. Unsafe characters are escaped.

This function implements a subset of quoted-printable encoding specification (rule #1 and rule #2) as defined in RFC 1521 and is suitable for encoding binary data and unformatted text.

Parameters: bytes array of bytes to be encoded

Returns: array of bytes containing quoted-printable data

encode

public String encode(String pString)
Encodes a string into its quoted-printable form using the default string charset. Unsafe characters are escaped.

This function implements a subset of quoted-printable encoding specification (rule #1 and rule #2) as defined in RFC 1521 and is suitable for encoding binary data.

Parameters: pString string to convert to quoted-printable form

Returns: quoted-printable string

Throws: EncoderException Thrown if quoted-printable encoding is unsuccessful

See Also: getDefaultCharset

encode

public Object encode(Object pObject)
Encodes an object into its quoted-printable safe form. Unsafe characters are escaped.

Parameters: pObject string to convert to a quoted-printable form

Returns: quoted-printable object

Throws: EncoderException Thrown if quoted-printable encoding is not applicable to objects of this type or if encoding is unsuccessful

encode

public String encode(String pString, String charset)
Encodes a string into its quoted-printable form using the specified charset. Unsafe characters are escaped.

This function implements a subset of quoted-printable encoding specification (rule #1 and rule #2) as defined in RFC 1521 and is suitable for encoding binary data and unformatted text.

Parameters: pString string to convert to quoted-printable form charset the charset for pString

Returns: quoted-printable string

Throws: UnsupportedEncodingException Thrown if the charset is not supported

encodeQuotedPrintable

private static final void encodeQuotedPrintable(int b, ByteArrayOutputStream buffer)
Encodes byte into its quoted-printable representation.

Parameters: b byte to encode buffer the buffer to write to

encodeQuotedPrintable

public static final byte[] encodeQuotedPrintable(BitSet printable, byte[] bytes)
Encodes an array of bytes into an array of quoted-printable 7-bit characters. Unsafe characters are escaped.

This function implements a subset of quoted-printable encoding specification (rule #1 and rule #2) as defined in RFC 1521 and is suitable for encoding binary data and unformatted text.

Parameters: printable bitset of characters deemed quoted-printable bytes array of bytes to be encoded

Returns: array of bytes containing quoted-printable data

getDefaultCharset

public String getDefaultCharset()
Returns the default charset used for string decoding and encoding.

Returns: the default string charset.

commons-codec version 1.3 - Copyright © 2002-2004 - Apache Software Foundation