org.apache.commons.codec.net
Class QuotedPrintableCodec

java.lang.Object
  extended by org.apache.commons.codec.net.QuotedPrintableCodec
All Implemented Interfaces:
BinaryDecoder, BinaryEncoder, Decoder, Encoder, StringDecoder, StringEncoder

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 streamable 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.

This class is immutable and thread-safe.

Since:
1.3
Version:
$Id: QuotedPrintableCodec.html 889935 2013-12-11 05:05:13Z ggregory $
See Also:
RFC 1521 MIME (Multipurpose Internet Mail Extensions) Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies

Constructor Summary
QuotedPrintableCodec()
          Default constructor.
QuotedPrintableCodec(Charset charset)
          Constructor which allows for the selection of a default charset.
QuotedPrintableCodec(String charsetName)
          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.
 Object decode(Object obj)
          Decodes a quoted-printable object into its original form.
 String decode(String str)
          Decodes a quoted-printable string into its original form using the default string charset.
 String decode(String str, Charset charset)
          Decodes a quoted-printable string into its original form using the specified string charset.
 String decode(String str, String charset)
          Decodes a quoted-printable string into its original form using the specified string charset.
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.
 Object encode(Object obj)
          Encodes an object into its quoted-printable safe form.
 String encode(String str)
          Encodes a string into its quoted-printable form using the default string charset.
 String encode(String str, Charset charset)
          Encodes a string into its quoted-printable form using the specified charset.
 String encode(String str, String charset)
          Encodes a string into its quoted-printable form using the specified charset.
static byte[] encodeQuotedPrintable(BitSet printable, byte[] bytes)
          Encodes an array of bytes into an array of quoted-printable 7-bit characters.
 Charset getCharset()
          Gets the default charset name used for string decoding and encoding.
 String getDefaultCharset()
          Gets the default charset name used for string decoding and encoding.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

QuotedPrintableCodec

public QuotedPrintableCodec()
Default constructor.


QuotedPrintableCodec

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

Parameters:
charset - the default string charset to use.
Throws:
UnsupportedCharsetException - If the named charset is unavailable
Since:
1.7

QuotedPrintableCodec

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

Parameters:
charsetName - the default string charset to use.
Throws:
UnsupportedCharsetException - If the named charset is unavailable
Since:
1.7 throws UnsupportedCharsetException if the named charset is unavailable
Method Detail

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

decodeQuotedPrintable

public static final byte[] decodeQuotedPrintable(byte[] bytes)
                                          throws DecoderException
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.

Specified by:
encode in interface BinaryEncoder
Parameters:
bytes - array of bytes to be encoded
Returns:
array of bytes containing quoted-printable data

decode

public byte[] decode(byte[] bytes)
              throws DecoderException
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.

Specified by:
decode in interface BinaryDecoder
Parameters:
bytes - array of quoted-printable characters
Returns:
array of original bytes
Throws:
DecoderException - Thrown if quoted-printable decoding is unsuccessful

encode

public String encode(String str)
              throws EncoderException
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.

Specified by:
encode in interface StringEncoder
Parameters:
str - string to convert to quoted-printable form
Returns:
quoted-printable string
Throws:
EncoderException - Thrown if quoted-printable encoding is unsuccessful
See Also:
getCharset()

decode

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

Parameters:
str - 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
Since:
1.7

decode

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

Parameters:
str - 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 str)
              throws DecoderException
Decodes a quoted-printable string into its original form using the default string charset. Escaped characters are converted back to their original representation.

Specified by:
decode in interface StringDecoder
Parameters:
str - quoted-printable string to convert into its original form
Returns:
original string
Throws:
DecoderException - Thrown if quoted-printable decoding is unsuccessful. Thrown if charset is not supported.
See Also:
getCharset()

encode

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

Specified by:
encode in interface Encoder
Parameters:
obj - 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

decode

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

Specified by:
decode in interface Decoder
Parameters:
obj - quoted-printable object to convert into its original form
Returns:
original object
Throws:
DecoderException - Thrown if the argument is not a String or byte[]. Thrown if a failure condition is encountered during the decode process.

getCharset

public Charset getCharset()
Gets the default charset name used for string decoding and encoding.

Returns:
the default charset name
Since:
1.7

getDefaultCharset

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

Returns:
the default charset name

encode

public String encode(String str,
                     Charset 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:
str - string to convert to quoted-printable form
charset - the charset for str
Returns:
quoted-printable string
Since:
1.7

encode

public String encode(String str,
                     String charset)
              throws UnsupportedEncodingException
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:
str - string to convert to quoted-printable form
charset - the charset for str
Returns:
quoted-printable string
Throws:
UnsupportedEncodingException - Thrown if the charset is not supported


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