public class URLCodec extends Object implements BinaryEncoder, BinaryDecoder, StringEncoder, StringDecoder
This codec is meant to be a replacement for standard Java classes URLEncoder
and
URLDecoder
on older Java platforms, as these classes in Java versions below
1.4 rely on the platform's default charset encoding.
This class is thread-safe as of 1.11
Modifier and Type | Field and Description |
---|---|
protected String |
charset
Deprecated.
TODO: This field will be changed to a private final Charset in 2.0. (CODEC-126)
|
protected static byte |
ESCAPE_CHAR
Release 1.5 made this field final.
|
protected static BitSet |
WWW_FORM_URL
Deprecated.
1.11 Will be removed in 2.0 (CODEC-230)
|
Constructor and Description |
---|
URLCodec()
Default constructor.
|
URLCodec(String charset)
Constructor which allows for the selection of a default charset.
|
Modifier and Type | Method and Description |
---|---|
byte[] |
decode(byte[] bytes)
Decodes an array of URL safe 7-bit characters into an array of original bytes.
|
Object |
decode(Object obj)
Decodes a URL safe object into its original form.
|
String |
decode(String str)
Decodes a URL safe string into its original form using the default string charset.
|
String |
decode(String str,
String charsetName)
Decodes a URL safe string into its original form using the specified encoding.
|
static byte[] |
decodeUrl(byte[] bytes)
Decodes an array of URL safe 7-bit characters into an array of original bytes.
|
byte[] |
encode(byte[] bytes)
Encodes an array of bytes into an array of URL safe 7-bit characters.
|
Object |
encode(Object obj)
Encodes an object into its URL safe form.
|
String |
encode(String str)
Encodes a string into its URL safe form using the default string charset.
|
String |
encode(String str,
String charsetName)
Encodes a string into its URL safe form using the specified string charset.
|
static byte[] |
encodeUrl(BitSet urlsafe,
byte[] bytes)
Encodes an array of bytes into an array of URL safe 7-bit characters.
|
String |
getDefaultCharset()
The default charset used for string decoding and encoding.
|
String |
getEncoding()
Deprecated.
Use
getDefaultCharset() , will be removed in 2.0. |
@Deprecated protected volatile String charset
protected static final byte ESCAPE_CHAR
@Deprecated protected static final BitSet WWW_FORM_URL
public URLCodec()
public URLCodec(String charset)
charset
- the default string charset to use.public static final byte[] encodeUrl(BitSet urlsafe, byte[] bytes)
urlsafe
- bitset of characters deemed URL safebytes
- array of bytes to convert to URL safe characterspublic static final byte[] decodeUrl(byte[] bytes) throws DecoderException
bytes
- array of URL safe charactersDecoderException
- Thrown if URL decoding is unsuccessfulpublic byte[] encode(byte[] bytes)
encode
in interface BinaryEncoder
bytes
- array of bytes to convert to URL safe characterspublic byte[] decode(byte[] bytes) throws DecoderException
decode
in interface BinaryDecoder
bytes
- array of URL safe charactersDecoderException
- Thrown if URL decoding is unsuccessfulpublic String encode(String str, String charsetName) throws UnsupportedEncodingException
str
- string to convert to a URL safe formcharsetName
- the charset for strUnsupportedEncodingException
- Thrown if charset is not supportedpublic String encode(String str) throws EncoderException
encode
in interface StringEncoder
str
- string to convert to a URL safe formEncoderException
- Thrown if URL encoding is unsuccessfulgetDefaultCharset()
public String decode(String str, String charsetName) throws DecoderException, UnsupportedEncodingException
str
- URL safe string to convert into its original formcharsetName
- the original string charsetDecoderException
- Thrown if URL decoding is unsuccessfulUnsupportedEncodingException
- Thrown if charset is not supportedpublic String decode(String str) throws DecoderException
decode
in interface StringDecoder
str
- URL safe string to convert into its original formDecoderException
- Thrown if URL decoding is unsuccessfulgetDefaultCharset()
public Object encode(Object obj) throws EncoderException
encode
in interface Encoder
obj
- string to convert to a URL safe formEncoderException
- Thrown if URL encoding is not applicable to objects of this type or if encoding is unsuccessfulpublic Object decode(Object obj) throws DecoderException
decode
in interface Decoder
obj
- URL safe object to convert into its original formDecoderException
- Thrown if the argument is not a String
or byte[]
. Thrown if a failure
condition is encountered during the decode process.public String getDefaultCharset()
@Deprecated public String getEncoding()
getDefaultCharset()
, will be removed in 2.0.String
encoding used for decoding and encoding.Copyright © 2002–2020 The Apache Software Foundation. All rights reserved.