Package org.apache.commons.codec.net
Class QCodec
java.lang.Object
org.apache.commons.codec.net.RFC1522Codec
org.apache.commons.codec.net.QCodec
- All Implemented Interfaces:
Decoder
,Encoder
,StringDecoder
,StringEncoder
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.
This class is conditionally thread-safe.
The instance field for encoding blanks is mutable setEncodeBlanks(boolean)
but is not volatile, and accesses are not synchronised.
If an instance of the class is shared between threads, the caller needs to ensure that suitable synchronisation
is used to ensure safe publication of the value between threads, and must not invoke
setEncodeBlanks(boolean)
after initial setup.
- Since:
- 1.3
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Charset
The default Charset used for string decoding and encoding.private boolean
private static final BitSet
BitSet of printable characters as defined in RFC 1522.private static final byte
private static final byte
Fields inherited from class org.apache.commons.codec.net.RFC1522Codec
POSTFIX, PREFIX, SEP
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionDecodes a quoted-printable object into its original form.Decodes a quoted-printable string into its original form.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.Encodes an object into its quoted-printable form using the default Charset.Encodes a string into its quoted-printable form using the default Charset.Encodes a string into its quoted-printable form using the specified Charset.Encodes a string into its quoted-printable form using the specified Charset.Gets the default Charset name used for string decoding and encoding.Gets the default Charset name used for string decoding and encoding.protected String
Returns the codec name (referred to as encoding in the RFC 1522).boolean
Tests if optional transformation of SPACE characters is to be usedvoid
setEncodeBlanks
(boolean b) Defines whether optional transformation of SPACE characters is to be usedMethods inherited from class org.apache.commons.codec.net.RFC1522Codec
decodeText, encodeText, encodeText
-
Field Details
-
charset
The default Charset used for string decoding and encoding. -
PRINTABLE_CHARS
BitSet of printable characters as defined in RFC 1522. -
SPACE
private static final byte SPACE- See Also:
-
UNDERSCORE
private static final byte UNDERSCORE- See Also:
-
encodeBlanks
private boolean encodeBlanks
-
-
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.- Since:
- 1.7
- See Also:
-
QCodec
Constructor which allows for the selection of a default Charset.- Parameters:
charsetName
- the Charset to use.- Throws:
UnsupportedCharsetException
- If the named Charset is unavailable- Since:
- 1.7 throws UnsupportedCharsetException if the named Charset is unavailable
- See Also:
-
-
Method Details
-
getEncoding
Description copied from class:RFC1522Codec
Returns the codec name (referred to as encoding in the RFC 1522).- Specified by:
getEncoding
in classRFC1522Codec
- Returns:
- name of the codec
-
doEncoding
protected byte[] doEncoding(byte[] bytes) Description copied from class:RFC1522Codec
Encodes an array of bytes using the defined encoding scheme.- Specified by:
doEncoding
in classRFC1522Codec
- Parameters:
bytes
- Data to be encoded- Returns:
- A byte array containing the encoded data
-
doDecoding
Description copied from class:RFC1522Codec
Decodes an array of bytes using the defined encoding scheme.- Specified by:
doDecoding
in classRFC1522Codec
- 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:
sourceStr
- string to convert to quoted-printable formsourceCharset
- the Charset for sourceStr- Returns:
- quoted-printable string
- Throws:
EncoderException
- thrown if a failure condition is encountered during the encoding process.- Since:
- 1.7
-
encode
Encodes a string into its quoted-printable form using the specified Charset. Unsafe characters are escaped.- Parameters:
sourceStr
- string to convert to quoted-printable formsourceCharset
- the Charset for sourceStr- 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:
encode
in interfaceStringEncoder
- Parameters:
sourceStr
- 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:
decode
in interfaceStringDecoder
- Parameters:
str
- 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:
encode
in interfaceEncoder
- Parameters:
obj
- 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:
decode
in interfaceDecoder
- Parameters:
obj
- quoted-printable object to convert into its original form- Returns:
- original object
- Throws:
DecoderException
- Thrown if the argument is not aString
. Thrown if a failure condition is encountered during the decode process.
-
getCharset
Gets the default Charset name used for string decoding and encoding.- Returns:
- the default Charset name
- Since:
- 1.7
-
getDefaultCharset
Gets the default Charset name used for string decoding and encoding.- Returns:
- the default Charset name
-
isEncodeBlanks
public boolean isEncodeBlanks()Tests if optional transformation of SPACE characters is to be used- Returns:
true
if SPACE characters are to be transformed,false
otherwise
-
setEncodeBlanks
public void setEncodeBlanks(boolean b) Defines whether optional transformation of SPACE characters is to be used- Parameters:
b
-true
if SPACE characters are to be transformed,false
otherwise
-