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.
Modifier and Type | Field and Description |
---|---|
protected static String |
POSTFIX
Prefix
|
protected static String |
PREFIX
Postfix
|
protected static char |
SEP
Separator.
|
Constructor and Description |
---|
QCodec()
Default constructor.
|
QCodec(String charset)
Constructor which allows for the selection of a default charset
|
Modifier and Type | Method and Description |
---|---|
Object |
decode(Object pObject)
Decodes a quoted-printable object into its original form.
|
String |
decode(String pString)
Decodes a quoted-printable string into its original form.
|
protected String |
decodeText(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 scheme
|
protected byte[] |
doEncoding(byte[] bytes)
Encodes an array of bytes using the defined encoding scheme
|
Object |
encode(Object pObject)
Encodes an object into its quoted-printable form using the default charset.
|
String |
encode(String pString)
Encodes a string into its quoted-printable form using the default charset.
|
String |
encode(String pString,
String charset)
Encodes a string into its quoted-printable form using the specified charset.
|
protected String |
encodeText(String text,
String charset)
Applies an RFC 1522 compliant encoding scheme to the given string of text with the
given charset.
|
String |
getDefaultCharset()
The default charset used for string decoding and encoding.
|
protected String |
getEncoding()
Returns the codec name (referred to as encoding in the RFC 1522)
|
boolean |
isEncodeBlanks()
Tests if optional transformation of SPACE characters is to be used
|
void |
setEncodeBlanks(boolean b)
Defines whether optional transformation of SPACE characters is to be used
|
protected static final char SEP
protected static final String POSTFIX
protected static final String PREFIX
public QCodec()
public QCodec(String charset)
charset
- the default string charset to use.protected String getEncoding()
protected byte[] doEncoding(byte[] bytes)
bytes
- Data to be encodedprotected byte[] doDecoding(byte[] bytes) throws DecoderException
bytes
- Data to be decodedDecoderException
- A decoder exception is thrown if a Decoder encounters a
failure condition during the decode process.public String encode(String pString, String charset) throws EncoderException
pString
- string to convert to quoted-printable formcharset
- the charset for pStringEncoderException
- thrown if a failure condition is encountered during the encoding process.public String encode(String pString) throws EncoderException
encode
in interface StringEncoder
pString
- string to convert to quoted-printable formEncoderException
- thrown if a failure condition is encountered during the encoding process.public String decode(String pString) throws DecoderException
decode
in interface StringDecoder
pString
- quoted-printable string to convert into its original formDecoderException
- A decoder exception is thrown if a failure condition is encountered during the decode process.public Object encode(Object pObject) throws EncoderException
encode
in interface Encoder
pObject
- object to convert to quoted-printable formEncoderException
- thrown if a failure condition is encountered during the encoding process.public Object decode(Object pObject) throws DecoderException
decode
in interface Decoder
pObject
- quoted-printable object to convert into its original formDecoderException
- Thrown if the argument is not a String
. Thrown if a failure condition is
encountered during the decode process.public String getDefaultCharset()
public boolean isEncodeBlanks()
true
if SPACE characters are to be transformed, false
otherwisepublic void setEncodeBlanks(boolean b)
b
- true
if SPACE characters are to be transformed, false
otherwiseprotected String encodeText(String text, String charset) throws EncoderException, UnsupportedEncodingException
doEncoding(byte [])
method of a concrete
class to perform the specific encoding.text
- a string to encodecharset
- a charset to be usedEncoderException
- thrown if there is an error condition during the Encoding
process.UnsupportedEncodingException
- thrown if charset is not supportedprotected String decodeText(String text) throws DecoderException, UnsupportedEncodingException
doEncoding(byte [])
method of a concrete class to perform the specific decoding.text
- a string to decodenull
if the input is null
.DecoderException
- thrown if there is an error condition during the decoding
process.UnsupportedEncodingException
- thrown if charset specified in the "encoded-word"
header is not supportedThis software is published under the BSD license. Copyright © 2003-${build.year}, CRIXP AG, Switzerland, All rights reserved. Use is subject to license terms.