Class 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 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,v 1.7 2004/04/09 22:21:07 ggregory Exp $
- 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
-
Constructor Summary
Constructors Constructor Description QuotedPrintableCodec()Default constructor.QuotedPrintableCodec(String charset)Constructor which allows for the selection of a default charset -
Method Summary
Modifier and Type Method Description byte[]decode(byte[] bytes)Decodes an array of quoted-printable characters into an array of original bytes.Objectdecode(Object pObject)Decodes a quoted-printable object into its original form.Stringdecode(String pString)Decodes a quoted-printable string into its original form using the default string charset.Stringdecode(String pString, 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.Objectencode(Object pObject)Encodes an object into its quoted-printable safe form.Stringencode(String pString)Encodes a string into its quoted-printable form using the default string charset.Stringencode(String pString, 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.StringgetDefaultCharset()Returns the default charset used for string decoding and encoding.
-
Constructor Details
-
QuotedPrintableCodec
public QuotedPrintableCodec()Default constructor. -
QuotedPrintableCodec
Constructor which allows for the selection of a default charset- Parameters:
charset- the default string charset to use.
-
-
Method Details
-
encodeQuotedPrintable
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-printablebytes- array of bytes to be encoded- Returns:
- array of bytes containing quoted-printable data
-
decodeQuotedPrintable
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:
encodein interfaceBinaryEncoder- Parameters:
bytes- array of bytes to be encoded- Returns:
- array of bytes containing quoted-printable data
-
decode
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:
decodein interfaceBinaryDecoder- Parameters:
bytes- array of quoted-printable characters- Returns:
- array of original bytes
- Throws:
DecoderException- Thrown if quoted-printable decoding is unsuccessful
-
encode
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:
encodein interfaceStringEncoder- 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()
-
decode
public String decode(String pString, String charset) throws DecoderException, UnsupportedEncodingExceptionDecodes 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 formcharset- the original string charset- Returns:
- original string
- Throws:
DecoderException- Thrown if quoted-printable decoding is unsuccessfulUnsupportedEncodingException- Thrown if charset is not supported
-
decode
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:
decodein interfaceStringDecoder- Parameters:
pString- quoted-printable string to convert into its original form- Returns:
- original string
- Throws:
DecoderException- Thrown if quoted-printable decoding is unsuccessfulUnsupportedEncodingException- Thrown if charset is not supported- See Also:
getDefaultCharset()
-
encode
Encodes an object into its quoted-printable safe form. Unsafe characters are escaped.- Specified by:
encodein interfaceEncoder- 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
-
decode
Decodes a quoted-printable object into its original form. Escaped characters are converted back to their original representation.- Specified by:
decodein interfaceDecoder- 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
-
getDefaultCharset
Returns the default charset used for string decoding and encoding.- Returns:
- the default string charset.
-
encode
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 formcharset- the charset for pString- Returns:
- quoted-printable string
- Throws:
UnsupportedEncodingException- Thrown if the charset is not supported
-