org.apache.commons.codec.net

Class URLCodec

Implemented Interfaces:
BinaryDecoder, BinaryEncoder, Decoder, Encoder, StringDecoder, StringEncoder

public class URLCodec
extends Object
implements BinaryEncoder, BinaryDecoder, StringEncoder, StringDecoder

Implements the 'www-form-urlencoded' encoding scheme, also misleadingly known as URL encoding.

For more detailed information please refer to Chapter 17.13.4 'Form content types' of the HTML 4.01 Specification

This codec is meant to be a replacement for standard Java classes java.net.URLEncoder and java.net.URLDecoder on older Java platforms, as these classes in Java versions below 1.4 rely on the platform's default charset encoding.

Version:
$Id: URLCodec.java,v 1.19 2004/03/29 07:59:00 ggregory Exp $

Author:
Apache Software Foundation

Since:
1.2

Nested Class Summary

Field Summary

protected static byte
ESCAPE_CHAR
protected static BitSet
WWW_FORM_URL
BitSet of www-form-url safe characters.
protected String
charset
The default charset used for string decoding and encoding.

Constructor Summary

URLCodec()
Default constructor.
URLCodec(java.lang.String charset)
Constructor which allows for the selection of a default charset

Method Summary

byte[]
decode(byte[] bytes)
Decodes an array of URL safe 7-bit characters into an array of original bytes.
Object
decode(Object pObject)
Decodes a URL safe object into its original form.
String
decode(java.lang.String pString)
Decodes a URL safe string into its original form using the default string charset.
String
decode(java.lang.String pString, java.lang.String charset)
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 pObject)
Encodes an object into its URL safe form.
String
encode(java.lang.String pString)
Encodes a string into its URL safe form using the default string charset.
String
encode(java.lang.String pString, java.lang.String charset)
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()

Field Details

ESCAPE_CHAR

protected static byte ESCAPE_CHAR


WWW_FORM_URL

protected static final BitSet WWW_FORM_URL
BitSet of www-form-url safe characters.


charset

protected String charset
The default charset used for string decoding and encoding.

Constructor Details

URLCodec

public URLCodec()
Default constructor.


URLCodec

public URLCodec(java.lang.String charset)
Constructor which allows for the selection of a default charset

Parameters:
charset - the default string charset to use.

Method Details

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:
decode in interface BinaryDecoder

Parameters:
bytes - array of URL safe characters

Returns:
array of original bytes

Throws:
DecoderException - Thrown if URL decoding is unsuccessful


decode

public Object decode(Object pObject)
            throws DecoderException
Decodes a URL safe object into its original form. Escaped characters are converted back to their original representation.
Specified by:
decode in interface Decoder

Parameters:
pObject - URL safe object to convert into its original form

Returns:
original object

Throws:
DecoderException - Thrown if URL decoding is not applicable to objects of this type if decoding is unsuccessful


decode

public String decode(java.lang.String pString)
            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:
decode in interface StringDecoder

Parameters:
pString - 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 String decode(java.lang.String pString,
                               java.lang.String charset)
            throws DecoderException,
                   UnsupportedEncodingException
Decodes a URL safe string into its original form using the specified encoding. Escaped characters are converted back to their original representation.

Parameters:
pString - URL safe string to convert into its original form
charset - the original string charset

Returns:
original string

Throws:
DecoderException - Thrown if URL decoding is unsuccessful
UnsupportedEncodingException - Thrown if charset is not supported


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


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:
encode in interface BinaryEncoder

Parameters:
bytes - array of bytes to convert to URL safe characters

Returns:
array of bytes containing URL safe characters


encode

public Object encode(Object pObject)
            throws EncoderException
Encodes an object into its URL safe form. Unsafe characters are escaped.
Specified by:
encode in interface Encoder

Parameters:
pObject - 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 String encode(java.lang.String pString)
            throws EncoderException
Encodes a string into its URL safe form using the default string charset. Unsafe characters are escaped.
Specified by:
encode in interface StringEncoder

Parameters:
pString - 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 String encode(java.lang.String pString,
                               java.lang.String charset)
            throws UnsupportedEncodingException
Encodes a string into its URL safe form using the specified string charset. Unsafe characters are escaped.

Parameters:
pString - string to convert to a URL safe form
charset - the charset for pString

Returns:
URL safe string

Throws:
UnsupportedEncodingException - Thrown if charset is not supported


encodeUrl

public static final byte[] encodeUrl(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


getDefaultCharset

public String getDefaultCharset()
The default charset used for string decoding and encoding.

Returns:
the default string charset.


getEncoding

public String getEncoding()

Deprecated. use #getDefaultCharset()

The String encoding used for decoding and encoding.

Returns:
Returns the encoding.


commons-codec version 1.3 - Copyright © 2002-2004 - Apache Software Foundation