public final class LZSEncoding
extends java.lang.Object
LZSPlus
for convenience, but extended functionality is available here.
You can compress a String to a smaller, technically-invalid UTF-16 String with compress(String)
, and undo
that with decompress(String)
. Compress to a valid UTF-16 String with compressToUTF16(String)
,
decompress such a String with decompressFromUTF16(String)
(LZSPlus uses these). Compress to Base64 with
compressToBase64(String)
, decompress Base64 with decompressFromBase64(String)
. Compress to
URI-encoded Strings with compressToEncodedURIComponent(String)
, decompress those with
decompressFromEncodedURIComponent(String)
. This class is super-sourced with a compatible alternative
implementation on GWT for performance, and a main goal is to provide UTF-16 Strings that can be stored in a browser's
LocalStorage on GWT. This class is also sometimes used internally when a large compressed String in Java source code
makes more sense than an even larger resource file.Modifier and Type | Method and Description |
---|---|
static java.lang.String |
compress(java.lang.String uncompressed)
Compresses a String as tightly as possible by using 16 bits of each 16-bit character, which can infrequently
result in invalid UTF-16 codepoints, but that may not matter for all applications.
|
static java.lang.String |
compressToBase64(java.lang.String uncompressed)
Compress a String using LZ-String encoding but only using Base64 characters ('A'-'Z', 'a'-'z', '0'-'9', '+', '/',
and '=' for Base64 validity).
|
static java.lang.String |
compressToEncodedURIComponent(java.lang.String uncompressed)
Compress a String using LZ-String encoding but only using valid URI component characters ('A'-'Z', 'a'-'z',
'0'-'9', '+', '-', and possibly '$').
|
static java.lang.String |
compressToUTF16(java.lang.String uncompressed)
Compresses a String using the properties of UTF-16 encoding to store approximately 15 bits of LZW-compressed text
in each 2-byte Unicode character, which does particularly well with ASCII text and can be smaller than UTF-8 in
some cases, especially where each char must be stored as UTF-16, e.g.
|
static java.lang.String |
decompress(java.lang.String compressed)
Decompresses a String that had been compressed with
compress(String) . |
static java.lang.String |
decompressFromBase64(java.lang.String compressed)
Decompresses a String that had been compressed with
compressToBase64(String) . |
static java.lang.String |
decompressFromEncodedURIComponent(java.lang.String compressed)
Decompresses a String that had been compressed with
compressToEncodedURIComponent(String) . |
static java.lang.String |
decompressFromUTF16(java.lang.String compressed)
Decompresses a String that had been compressed with
compressToUTF16(String) . |
public static java.lang.String compressToBase64(java.lang.String uncompressed)
uncompressed
- an uncompressed String to encodepublic static java.lang.String decompressFromBase64(java.lang.String compressed)
compressToBase64(String)
.compressed
- a Base64-encoded, compressed Stringpublic static java.lang.String compressToUTF16(java.lang.String uncompressed)
uncompressed
- an uncompressed String to encodepublic static java.lang.String decompressFromUTF16(java.lang.String compressed)
compressToUTF16(String)
.compressed
- a UTF16-encoded (as by compressToUTF16(String)
), compressed Stringpublic static java.lang.String compressToEncodedURIComponent(java.lang.String uncompressed)
uncompressed
- an uncompressed String to encodepublic static java.lang.String decompressFromEncodedURIComponent(java.lang.String compressed)
compressToEncodedURIComponent(String)
.compressed
- a URI-encoded, compressed Stringpublic static java.lang.String compress(java.lang.String uncompressed)
uncompressed
- an uncompressed String to encodepublic static java.lang.String decompress(java.lang.String compressed)
compress(String)
.compressed
- a compressed String using the default encoding from compress(String)
Copyright © Eben Howard 2012–2022. All rights reserved.