java.lang.Object | |
↳ | com.fasterxml.jackson.core.Base64Variants |
Container for commonly used Base64 variants.
Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
MIME | This variant is what most people would think of "the standard" Base64 encoding. | ||||||||||
MIME_NO_LINEFEEDS | Slightly non-standard modification of MIME which does not
use linefeeds (max line length set to infinite). |
||||||||||
MODIFIED_FOR_URL | This non-standard variant is usually used when encoded data needs to be passed via URLs (such as part of GET request). | ||||||||||
PEM | This variant is the one that predates MIME : it is otherwise
identical, except that it mandates shorter line length. |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Method used to get the default variant ("MIME_NO_LINEFEEDS") for cases
where caller does not explicitly specify the variant.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
This variant is what most people would think of "the standard" Base64 encoding.
See wikipedia Base64 entry for details.
Note that although this can be thought of as the standard variant, it is not the default for Jackson: no-linefeeds alternative is because of JSON requirement of escaping all linefeeds.
Slightly non-standard modification of MIME
which does not
use linefeeds (max line length set to infinite). Useful when linefeeds
wouldn't work well (possibly in attributes), or for minor space savings
(save 1 linefeed per 76 data chars, ie. ~1.4% savings).
This non-standard variant is usually used when encoded data needs to be
passed via URLs (such as part of GET request). It differs from the
base MIME
variant in multiple ways.
First, no padding is used: this also means that it generally can not
be written in multiple separate but adjacent chunks (which would not
be the usual use case in any case). Also, no linefeeds are used (max
line length set to infinite). And finally, two characters (plus and
slash) that would need quoting in URLs are replaced with more
optimal alternatives (hyphen and underscore, respectively).
This variant is the one that predates MIME
: it is otherwise
identical, except that it mandates shorter line length.
Method used to get the default variant ("MIME_NO_LINEFEEDS") for cases where caller does not explicitly specify the variant. We will prefer no-linefeed version because linefeeds in JSON values must be escaped, making linefeed-containing variants sub-optimal.