Package org.apache.commons.codec.net
Class QCodec
java.lang.Object
org.apache.commons.codec.net.QCodec
- All Implemented Interfaces:
Decoder,Encoder,StringDecoder,StringEncoder
public class QCodec extends Object implements StringEncoder, StringDecoder
Similar to the Quoted-Printable content-transfer-encoding defined in RFC 1521 and designed to allow text containing mostly ASCII characters to be decipherable on an ASCII terminal without decoding.
RFC 1522 describes techniques to allow the encoding of non-ASCII text in various portions of a RFC 822 [2] message header, in a manner which is unlikely to confuse existing message handling software.
- Since:
- 1.3
- Version:
- $Id: QCodec.java,v 1.6 2004/05/24 00:24:32 ggregory Exp $
- Author:
- Apache Software Foundation
- See Also:
- MIME (Multipurpose Internet Mail Extensions) Part Two: Message Header Extensions for Non-ASCII Text
-
Constructor Summary
-
Method Summary
Modifier and Type Method Description Objectdecode(Object pObject)Decodes a quoted-printable object into its original form.Stringdecode(String pString)Decodes a quoted-printable string into its original form.protected StringdecodeText(String text)Applies an RFC 1522 compliant decoding scheme to the given string of text.protected byte[]doDecoding(byte[] bytes)Decodes an array of bytes using the defined encoding schemeprotected byte[]doEncoding(byte[] bytes)Encodes an array of bytes using the defined encoding schemeObjectencode(Object pObject)Encodes an object into its quoted-printable form using the default charset.Stringencode(String pString)Encodes a string into its quoted-printable form using the default charset.Stringencode(String pString, String charset)Encodes a string into its quoted-printable form using the specified charset.protected StringencodeText(String text, String charset)Applies an RFC 1522 compliant encoding scheme to the given string of text with the given charset.StringgetDefaultCharset()The default charset used for string decoding and encoding.protected StringgetEncoding()Returns the codec name (referred to as encoding in the RFC 1522)booleanisEncodeBlanks()Tests if optional tranformation of SPACE characters is to be usedvoidsetEncodeBlanks(boolean b)Defines whether optional tranformation of SPACE characters is to be used
-
Constructor Details
-
QCodec
public QCodec()Default constructor. -
QCodec
Constructor which allows for the selection of a default charset- Parameters:
charset- the default string charset to use.- See Also:
- JRE character encoding names
-
-
Method Details
-
getEncoding
Returns the codec name (referred to as encoding in the RFC 1522)- Returns:
- name of the codec
-
doEncoding
Encodes an array of bytes using the defined encoding scheme- Parameters:
bytes- Data to be encoded- Returns:
- A byte array containing the encoded data
- Throws:
EncoderException- thrown if the Encoder encounters a failure condition during the encoding process.
-
doDecoding
Decodes an array of bytes using the defined encoding scheme- Parameters:
bytes- Data to be decoded- Returns:
- a byte array that contains decoded data
- Throws:
DecoderException- A decoder exception is thrown if a Decoder encounters a failure condition during the decode process.
-
encode
Encodes a string into its quoted-printable form using the specified charset. Unsafe characters are escaped.- Parameters:
pString- string to convert to quoted-printable formcharset- the charset for pString- Returns:
- quoted-printable string
- Throws:
EncoderException- thrown if a failure condition is encountered during the encoding process.
-
encode
Encodes a string into its quoted-printable form using the default charset. Unsafe characters are escaped.- Specified by:
encodein interfaceStringEncoder- Parameters:
pString- string to convert to quoted-printable form- Returns:
- quoted-printable string
- Throws:
EncoderException- thrown if a failure condition is encountered during the encoding process.
-
decode
Decodes a quoted-printable string into its original form. 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- A decoder exception is thrown if a failure condition is encountered during the decode process.
-
encode
Encodes an object into its quoted-printable form using the default charset. Unsafe characters are escaped.- Specified by:
encodein interfaceEncoder- Parameters:
pObject- object to convert to quoted-printable form- Returns:
- quoted-printable object
- Throws:
EncoderException- thrown if a failure condition is encountered during the encoding process.
-
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- A decoder exception is thrown if a failure condition is encountered during the decode process.
-
getDefaultCharset
The default charset used for string decoding and encoding.- Returns:
- the default string charset.
-
isEncodeBlanks
public boolean isEncodeBlanks()Tests if optional tranformation of SPACE characters is to be used- Returns:
trueif SPACE characters are to be transformed,falseotherwise
-
setEncodeBlanks
public void setEncodeBlanks(boolean b)Defines whether optional tranformation of SPACE characters is to be used- Parameters:
b-trueif SPACE characters are to be transformed,falseotherwise
-
encodeText
protected String encodeText(String text, String charset) throws EncoderException, UnsupportedEncodingExceptionApplies an RFC 1522 compliant encoding scheme to the given string of text with the given charset. This method constructs the "encoded-word" header common to all the RFC 1522 codecs and then invokesdoEncoding(byte [])method of a concrete class to perform the specific enconding.- Parameters:
text- a string to encodecharset- a charset to be used- Returns:
- RFC 1522 compliant "encoded-word"
- Throws:
EncoderException- thrown if there is an error conidition during the Encoding process.UnsupportedEncodingException- thrown if charset is not supported- See Also:
- JRE character encoding names
-
decodeText
Applies an RFC 1522 compliant decoding scheme to the given string of text. This method processes the "encoded-word" header common to all the RFC 1522 codecs and then invokesdoEncoding(byte [])method of a concrete class to perform the specific deconding.- Parameters:
text- a string to decode- Throws:
DecoderException- thrown if there is an error conidition during the Decoding process.UnsupportedEncodingException- thrown if charset specified in the "encoded-word" header is not supported
-