Package org.apache.commons.codec.net
Class URLCodec
- java.lang.Object
-
- org.apache.commons.codec.net.URLCodec
-
- All Implemented Interfaces:
BinaryDecoder,BinaryEncoder,Decoder,Encoder,StringDecoder,StringEncoder
public class URLCodec extends java.lang.Object implements BinaryEncoder, BinaryDecoder, StringEncoder, StringDecoder
Implements the 'www-form-urlencoded' encoding scheme, also misleadingly known as URL encoding.This codec is meant to be a replacement for standard Java classes
URLEncoderandURLDecoderon 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
- Since:
- 1.2
- See Also:
- Chapter 17.13.4 Form content types of the HTML 4.01 Specification
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.StringcharsetDeprecated.TODO: This field will be changed to a private final Charset in 2.0.protected static byteESCAPE_CHARRelease 1.5 made this field final.protected static java.util.BitSetWWW_FORM_URLDeprecated.1.11 Will be removed in 2.0 (CODEC-230)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description byte[]decode(byte[] bytes)Decodes an array of URL safe 7-bit characters into an array of original bytes.java.lang.Objectdecode(java.lang.Object obj)Decodes a URL safe object into its original form.java.lang.Stringdecode(java.lang.String str)Decodes a URL safe string into its original form using the default string charset.java.lang.Stringdecode(java.lang.String str, java.lang.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.java.lang.Objectencode(java.lang.Object obj)Encodes an object into its URL safe form.java.lang.Stringencode(java.lang.String str)Encodes a string into its URL safe form using the default string charset.java.lang.Stringencode(java.lang.String str, java.lang.String charsetName)Encodes a string into its URL safe form using the specified string charset.static byte[]encodeUrl(java.util.BitSet urlsafe, byte[] bytes)Encodes an array of bytes into an array of URL safe 7-bit characters.java.lang.StringgetDefaultCharset()The default charset used for string decoding and encoding.java.lang.StringgetEncoding()Deprecated.UsegetDefaultCharset(), will be removed in 2.0.
-
-
-
Field Detail
-
ESCAPE_CHAR
protected static final byte ESCAPE_CHAR
Release 1.5 made this field final.- See Also:
- Constant Field Values
-
WWW_FORM_URL
@Deprecated protected static final java.util.BitSet WWW_FORM_URL
Deprecated.1.11 Will be removed in 2.0 (CODEC-230)BitSet of www-form-url safe characters. This is a copy of the internal BitSet which is now used for the conversion. Changes to this field are ignored.
-
charset
@Deprecated protected volatile java.lang.String charset
Deprecated.TODO: This field will be changed to a private final Charset in 2.0. (CODEC-126)The default charset used for string decoding and encoding.
-
-
Method Detail
-
decodeUrl
public static final byte[] decodeUrl(byte[] bytes) throws DecoderException
Decodes an array of URL safe 7-bit characters into an array of original bytes. Escaped characters are converted back to their original representation.- Parameters:
bytes- array of URL safe characters.- Returns:
- array of original bytes.
- Throws:
DecoderException- Thrown if URL decoding is unsuccessful.
-
encodeUrl
public static final byte[] encodeUrl(java.util.BitSet urlsafe, byte[] bytes)
Encodes an array of bytes into an array of URL safe 7-bit characters. Unsafe characters are escaped.- Parameters:
urlsafe- bitset of characters deemed URL safe.bytes- array of bytes to convert to URL safe characters.- Returns:
- array of bytes containing URL safe characters.
-
decode
public byte[] decode(byte[] bytes) throws DecoderException
Decodes an array of URL safe 7-bit characters into an array of original bytes. Escaped characters are converted back to their original representation.- Specified by:
decodein interfaceBinaryDecoder- Parameters:
bytes- array of URL safe characters.- Returns:
- array of original bytes.
- Throws:
DecoderException- Thrown if URL decoding is unsuccessful.
-
decode
public java.lang.Object decode(java.lang.Object obj) throws DecoderException
Decodes a URL safe object into its original form. Escaped characters are converted back to their original representation.- Specified by:
decodein interfaceDecoder- Parameters:
obj- URL safe object to convert into its original form.- Returns:
- original object.
- Throws:
DecoderException- Thrown if the argument is not aStringorbyte[]. Thrown if a failure condition is encountered during the decode process.
-
decode
public java.lang.String decode(java.lang.String str) throws DecoderException
Decodes a URL safe string into its original form using the default string charset. Escaped characters are converted back to their original representation.- Specified by:
decodein interfaceStringDecoder- Parameters:
str- URL safe string to convert into its original form.- Returns:
- original string.
- Throws:
DecoderException- Thrown if URL decoding is unsuccessful.- See Also:
getDefaultCharset()
-
decode
public java.lang.String decode(java.lang.String str, java.lang.String charsetName) throws DecoderException, java.io.UnsupportedEncodingException
Decodes a URL safe string into its original form using the specified encoding. Escaped characters are converted back to their original representation.- Parameters:
str- URL safe string to convert into its original form.charsetName- the original string charset.- Returns:
- original string.
- Throws:
DecoderException- Thrown if URL decoding is unsuccessful.java.io.UnsupportedEncodingException- Thrown if charset is not supported.
-
encode
public byte[] encode(byte[] bytes)
Encodes an array of bytes into an array of URL safe 7-bit characters. Unsafe characters are escaped.- Specified by:
encodein interfaceBinaryEncoder- Parameters:
bytes- array of bytes to convert to URL safe characters.- Returns:
- array of bytes containing URL safe characters.
-
encode
public java.lang.Object encode(java.lang.Object obj) throws EncoderException
Encodes an object into its URL safe form. Unsafe characters are escaped.- Specified by:
encodein interfaceEncoder- Parameters:
obj- string to convert to a URL safe form.- Returns:
- URL safe object.
- Throws:
EncoderException- Thrown if URL encoding is not applicable to objects of this type or if encoding is unsuccessful.
-
encode
public java.lang.String encode(java.lang.String str) throws EncoderException
Encodes a string into its URL safe form using the default string charset. Unsafe characters are escaped.- Specified by:
encodein interfaceStringEncoder- Parameters:
str- string to convert to a URL safe form.- Returns:
- URL safe string.
- Throws:
EncoderException- Thrown if URL encoding is unsuccessful.- See Also:
getDefaultCharset()
-
encode
public java.lang.String encode(java.lang.String str, java.lang.String charsetName) throws java.io.UnsupportedEncodingException
Encodes a string into its URL safe form using the specified string charset. Unsafe characters are escaped.- Parameters:
str- string to convert to a URL safe form.charsetName- the charset for str.- Returns:
- URL safe string.
- Throws:
java.io.UnsupportedEncodingException- Thrown if charset is not supported.
-
getDefaultCharset
public java.lang.String getDefaultCharset()
The default charset used for string decoding and encoding.- Returns:
- the default string charset.
-
getEncoding
@Deprecated public java.lang.String getEncoding()
Deprecated.UsegetDefaultCharset(), will be removed in 2.0.TheStringencoding used for decoding and encoding.- Returns:
- the encoding.
-
-