Class QuotedPrintableCodec
- All Implemented Interfaces:
BinaryDecoder
,BinaryEncoder
,Decoder
,Encoder
,StringDecoder
,StringEncoder
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:
Depending on the selected strict
parameter, this class will implement a different set of rules of the
quoted-printable spec:
strict=false
: only rules #1 and #2 are implementedstrict=true
: all rules #1 through #5 are implemented
Originally, this class only supported the non-strict mode, but the codec in this partial form could already be used for certain applications that do not require quoted-printable line formatting (rules #3, #4, #5), for instance Q codec. The strict mode has been added in 1.10.
This class is immutable and thread-safe.
-
Constructor Summary
ConstructorDescriptionDefault constructor, assumes default Charset ofStandardCharsets.UTF_8
QuotedPrintableCodec
(boolean strict) Constructor which allows for the selection of the strict mode.QuotedPrintableCodec
(String charsetName) Constructor which allows for the selection of a default Charset.QuotedPrintableCodec
(Charset charset) Constructor which allows for the selection of a default Charset.QuotedPrintableCodec
(Charset charset, boolean strict) Constructor which allows for the selection of a default Charset and strict mode. -
Method Summary
Modifier and TypeMethodDescriptionbyte[]
decode
(byte[] bytes) Decodes an array of quoted-printable characters into an array of original bytes.Decodes a quoted-printable object into its original form.Decodes a quoted-printable string into its original form using the default string Charset.Decodes a quoted-printable string into its original form using the specified string Charset.Decodes a quoted-printable string into its original form using the specified string Charset.static final 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.Encodes an object into its quoted-printable safe form.Encodes a string into its quoted-printable form using the default string 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.static final byte[]
encodeQuotedPrintable
(BitSet printable, byte[] bytes) Encodes an array of bytes into an array of quoted-printable 7-bit characters.static final byte[]
encodeQuotedPrintable
(BitSet printable, byte[] bytes, boolean strict) Encodes an array of bytes into an array of quoted-printable 7-bit characters.Gets the default Charset name used for string decoding and encoding.Gets the default Charset name used for string decoding and encoding.
-
Constructor Details
-
QuotedPrintableCodec
public QuotedPrintableCodec()Default constructor, assumes default Charset ofStandardCharsets.UTF_8
-
QuotedPrintableCodec
Constructor which allows for the selection of the strict mode.- Parameters:
strict
- iftrue
, soft line breaks will be used- Since:
- 1.10
-
QuotedPrintableCodec
Constructor which allows for the selection of a default Charset.- Parameters:
charset
- the default string Charset to use.- Since:
- 1.7
-
QuotedPrintableCodec
Constructor which allows for the selection of a default Charset and strict mode.- Parameters:
charset
- the default string Charset to use.strict
- iftrue
, soft line breaks will be used- Since:
- 1.10
-
QuotedPrintableCodec
public QuotedPrintableCodec(String charsetName) throws IllegalCharsetNameException, IllegalArgumentException, UnsupportedCharsetException Constructor which allows for the selection of a default Charset.- Parameters:
charsetName
- the default string Charset to use.- Throws:
UnsupportedCharsetException
- If no support for the named Charset is available in this instance of the Java virtual machineIllegalArgumentException
- If the given charsetName is nullIllegalCharsetNameException
- If the given Charset name is illegal- Since:
- 1.7 throws UnsupportedCharsetException if the named Charset is unavailable
-
-
Method Details
-
decodeQuotedPrintable
Decodes an array quoted-printable characters into an array of original bytes. Escaped characters are converted back to their original representation.This function fully implements the quoted-printable encoding specification (rule #1 through rule #5) 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
-
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
-
encodeQuotedPrintable
Encodes an array of bytes into an array of quoted-printable 7-bit characters. Unsafe characters are escaped.Depending on the selection of the
strict
parameter, this function either implements the full ruleset or only 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 encodedstrict
- iftrue
the full ruleset is used, otherwise only rule #1 and rule #2- Returns:
- array of bytes containing quoted-printable data
- Since:
- 1.10
-
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 fully implements the quoted-printable encoding specification (rule #1 through rule #5) as defined in RFC 1521.
- Specified by:
decode
in interfaceBinaryDecoder
- Parameters:
bytes
- array of quoted-printable characters- Returns:
- array of original bytes
- Throws:
DecoderException
- Thrown if quoted-printable decoding is unsuccessful
-
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
orbyte[]
. Thrown if a failure condition is encountered during the decode process.
-
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:
decode
in interfaceStringDecoder
- Parameters:
sourceStr
- 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:
-
decode
Decodes a quoted-printable string into its original form using the specified string Charset. Escaped characters are converted back to their original representation.- Parameters:
sourceStr
- quoted-printable string to convert into its original formsourceCharset
- the original string Charset- Returns:
- original string
- Throws:
DecoderException
- Thrown if quoted-printable decoding is unsuccessful- Since:
- 1.7
-
decode
public String decode(String sourceStr, String sourceCharset) 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:
sourceStr
- quoted-printable string to convert into its original formsourceCharset
- the original string Charset- Returns:
- original string
- Throws:
DecoderException
- Thrown if quoted-printable decoding is unsuccessfulUnsupportedEncodingException
- Thrown if Charset is not supported
-
encode
Encodes an array of bytes into an array of quoted-printable 7-bit characters. Unsafe characters are escaped.Depending on the selection of the
strict
parameter, this function either implements the full ruleset or only 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 interfaceBinaryEncoder
- Parameters:
bytes
- array of bytes to be encoded- Returns:
- array of bytes containing quoted-printable data
-
encode
Encodes an object into its quoted-printable safe form. Unsafe characters are escaped.- Specified by:
encode
in interfaceEncoder
- 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
-
encode
Encodes a string into its quoted-printable form using the default string Charset. Unsafe characters are escaped.Depending on the selection of the
strict
parameter, this function either implements the full ruleset or only 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 interfaceStringEncoder
- Parameters:
sourceStr
- string to convert to quoted-printable form- Returns:
- quoted-printable string
- Throws:
EncoderException
- Thrown if quoted-printable encoding is unsuccessful- See Also:
-
encode
Encodes a string into its quoted-printable form using the specified Charset. Unsafe characters are escaped.Depending on the selection of the
strict
parameter, this function either implements the full ruleset or only 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:
sourceStr
- string to convert to quoted-printable formsourceCharset
- the Charset for sourceStr- Returns:
- quoted-printable string
- Since:
- 1.7
-
encode
Encodes a string into its quoted-printable form using the specified Charset. Unsafe characters are escaped.Depending on the selection of the
strict
parameter, this function either implements the full ruleset or only 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:
sourceStr
- string to convert to quoted-printable formsourceCharset
- the Charset for sourceStr- Returns:
- quoted-printable string
- Throws:
UnsupportedEncodingException
- Thrown if the Charset is not supported
-
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
-