org.unbescape.uri
Class UriEscape

Object
  extended by org.unbescape.uri.UriEscape

public final class UriEscape
extends Object

Utility class for performing URI escape/unescape operations.

Features

Specific features of the URI escape/unescape operations performed by means of this class:

Input/Output

There are two different input/output modes that can be used in escape/unescape operations:

Glossary

Percent encoding
The percent-encoding technique for escaping consists of transforming the character that needs to be escaped into a sequence of bytes using a previously specified encoding (UTF-8 by default), and then wrinting each byte as %HH, being HH its hexadecimal value (of the byte).

References

The following references apply:

Since:
1.1.0
Author:
Daniel Fernández

Field Summary
static String DEFAULT_ENCODING
          The default encoding for URI escaping/unescaping: UTF-8.
 
Method Summary
static void escapeUriFragmentId(char[] text, int offset, int len, Writer writer)
           Perform am URI fragment identifier escape operation on a char[] input using UTF-8 as encoding.
static void escapeUriFragmentId(char[] text, int offset, int len, Writer writer, String encoding)
           Perform am URI fragment identifier escape operation on a char[] input.
static String escapeUriFragmentId(String text)
           Perform am URI fragment identifier escape operation on a String input using UTF-8 as encoding.
static String escapeUriFragmentId(String text, String encoding)
           Perform am URI fragment identifier escape operation on a String input.
static void escapeUriPath(char[] text, int offset, int len, Writer writer)
           Perform am URI path escape operation on a char[] input using UTF-8 as encoding.
static void escapeUriPath(char[] text, int offset, int len, Writer writer, String encoding)
           Perform am URI path escape operation on a char[] input.
static String escapeUriPath(String text)
           Perform am URI path escape operation on a String input using UTF-8 as encoding.
static String escapeUriPath(String text, String encoding)
           Perform am URI path escape operation on a String input.
static void escapeUriPathSegment(char[] text, int offset, int len, Writer writer)
           Perform am URI path segment escape operation on a char[] input using UTF-8 as encoding.
static void escapeUriPathSegment(char[] text, int offset, int len, Writer writer, String encoding)
           Perform am URI path segment escape operation on a char[] input.
static String escapeUriPathSegment(String text)
           Perform am URI path segment escape operation on a String input using UTF-8 as encoding.
static String escapeUriPathSegment(String text, String encoding)
           Perform am URI path segment escape operation on a String input.
static void escapeUriQueryParam(char[] text, int offset, int len, Writer writer)
           Perform am URI query parameter (name or value) escape operation on a char[] input using UTF-8 as encoding.
static void escapeUriQueryParam(char[] text, int offset, int len, Writer writer, String encoding)
           Perform am URI query parameter (name or value) escape operation on a char[] input.
static String escapeUriQueryParam(String text)
           Perform am URI query parameter (name or value) escape operation on a String input using UTF-8 as encoding.
static String escapeUriQueryParam(String text, String encoding)
           Perform am URI query parameter (name or value) escape operation on a String input.
static void unescapeUriFragmentId(char[] text, int offset, int len, Writer writer)
           Perform am URI fragment identifier unescape operation on a char[] input using UTF-8 as encoding.
static void unescapeUriFragmentId(char[] text, int offset, int len, Writer writer, String encoding)
           Perform am URI fragment identifier unescape operation on a char[] input.
static String unescapeUriFragmentId(String text)
           Perform am URI fragment identifier unescape operation on a String input using UTF-8 as encoding.
static String unescapeUriFragmentId(String text, String encoding)
           Perform am URI fragment identifier unescape operation on a String input.
static void unescapeUriPath(char[] text, int offset, int len, Writer writer)
           Perform am URI path unescape operation on a char[] input using UTF-8 as encoding.
static void unescapeUriPath(char[] text, int offset, int len, Writer writer, String encoding)
           Perform am URI path unescape operation on a char[] input.
static String unescapeUriPath(String text)
           Perform am URI path unescape operation on a String input using UTF-8 as encoding.
static String unescapeUriPath(String text, String encoding)
           Perform am URI path unescape operation on a String input.
static void unescapeUriPathSegment(char[] text, int offset, int len, Writer writer)
           Perform am URI path segment unescape operation on a char[] input using UTF-8 as encoding.
static void unescapeUriPathSegment(char[] text, int offset, int len, Writer writer, String encoding)
           Perform am URI path segment unescape operation on a char[] input.
static String unescapeUriPathSegment(String text)
           Perform am URI path segment unescape operation on a String input using UTF-8 as encoding.
static String unescapeUriPathSegment(String text, String encoding)
           Perform am URI path segment unescape operation on a String input.
static void unescapeUriQueryParam(char[] text, int offset, int len, Writer writer)
           Perform am URI query parameter (name or value) unescape operation on a char[] input using UTF-8 as encoding.
static void unescapeUriQueryParam(char[] text, int offset, int len, Writer writer, String encoding)
           Perform am URI query parameter (name or value) unescape operation on a char[] input.
static String unescapeUriQueryParam(String text)
           Perform am URI query parameter (name or value) unescape operation on a String input using UTF-8 as encoding.
static String unescapeUriQueryParam(String text, String encoding)
           Perform am URI query parameter (name or value) unescape operation on a String input.
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_ENCODING

public static final String DEFAULT_ENCODING
The default encoding for URI escaping/unescaping: UTF-8.

See Also:
Constant Field Values
Method Detail

escapeUriPath

public static String escapeUriPath(String text)

Perform am URI path escape operation on a String input using UTF-8 as encoding.

The following are the only allowed chars in an URI path (will not be escaped):

All other chars will be escaped by converting them to the sequence of bytes that represents them in the UTF-8 and then representing each byte in %HH syntax, being HH the hexadecimal representation of the byte.

This method is thread-safe.

Parameters:
text - the String to be escaped.
Returns:
The escaped result String. As a memory-performance improvement, will return the exact same object as the text input argument if no escaping modifications were required (and no additional String objects will be created during processing). Will return null if text is null.

escapeUriPath

public static String escapeUriPath(String text,
                                   String encoding)

Perform am URI path escape operation on a String input.

The following are the only allowed chars in an URI path (will not be escaped):

All other chars will be escaped by converting them to the sequence of bytes that represents them in the specified encoding and then representing each byte in %HH syntax, being HH the hexadecimal representation of the byte.

This method is thread-safe.

Parameters:
text - the String to be escaped.
encoding - the encoding to be used for unescaping.
Returns:
The escaped result String. As a memory-performance improvement, will return the exact same object as the text input argument if no escaping modifications were required (and no additional String objects will be created during processing). Will return null if text is null.

escapeUriPathSegment

public static String escapeUriPathSegment(String text)

Perform am URI path segment escape operation on a String input using UTF-8 as encoding.

The following are the only allowed chars in an URI path segment (will not be escaped):

All other chars will be escaped by converting them to the sequence of bytes that represents them in the UTF-8 and then representing each byte in %HH syntax, being HH the hexadecimal representation of the byte.

This method is thread-safe.

Parameters:
text - the String to be escaped.
Returns:
The escaped result String. As a memory-performance improvement, will return the exact same object as the text input argument if no escaping modifications were required (and no additional String objects will be created during processing). Will return null if text is null.

escapeUriPathSegment

public static String escapeUriPathSegment(String text,
                                          String encoding)

Perform am URI path segment escape operation on a String input.

The following are the only allowed chars in an URI path segment (will not be escaped):

All other chars will be escaped by converting them to the sequence of bytes that represents them in the specified encoding and then representing each byte in %HH syntax, being HH the hexadecimal representation of the byte.

This method is thread-safe.

Parameters:
text - the String to be escaped.
encoding - the encoding to be used for escaping.
Returns:
The escaped result String. As a memory-performance improvement, will return the exact same object as the text input argument if no escaping modifications were required (and no additional String objects will be created during processing). Will return null if text is null.

escapeUriQueryParam

public static String escapeUriQueryParam(String text)

Perform am URI query parameter (name or value) escape operation on a String input using UTF-8 as encoding.

The following are the only allowed chars in an URI query parameter (will not be escaped):

All other chars will be escaped by converting them to the sequence of bytes that represents them in the UTF-8 and then representing each byte in %HH syntax, being HH the hexadecimal representation of the byte.

This method is thread-safe.

Parameters:
text - the String to be escaped.
Returns:
The escaped result String. As a memory-performance improvement, will return the exact same object as the text input argument if no escaping modifications were required (and no additional String objects will be created during processing). Will return null if text is null.

escapeUriQueryParam

public static String escapeUriQueryParam(String text,
                                         String encoding)

Perform am URI query parameter (name or value) escape operation on a String input.

The following are the only allowed chars in an URI query parameter (will not be escaped):

All other chars will be escaped by converting them to the sequence of bytes that represents them in the specified encoding and then representing each byte in %HH syntax, being HH the hexadecimal representation of the byte.

This method is thread-safe.

Parameters:
text - the String to be escaped.
encoding - the encoding to be used for escaping.
Returns:
The escaped result String. As a memory-performance improvement, will return the exact same object as the text input argument if no escaping modifications were required (and no additional String objects will be created during processing). Will return null if text is null.

escapeUriFragmentId

public static String escapeUriFragmentId(String text)

Perform am URI fragment identifier escape operation on a String input using UTF-8 as encoding.

The following are the only allowed chars in an URI fragment identifier (will not be escaped):

All other chars will be escaped by converting them to the sequence of bytes that represents them in the UTF-8 and then representing each byte in %HH syntax, being HH the hexadecimal representation of the byte.

This method is thread-safe.

Parameters:
text - the String to be escaped.
Returns:
The escaped result String. As a memory-performance improvement, will return the exact same object as the text input argument if no escaping modifications were required (and no additional String objects will be created during processing). Will return null if text is null.

escapeUriFragmentId

public static String escapeUriFragmentId(String text,
                                         String encoding)

Perform am URI fragment identifier escape operation on a String input.

The following are the only allowed chars in an URI fragment identifier (will not be escaped):

All other chars will be escaped by converting them to the sequence of bytes that represents them in the specified encoding and then representing each byte in %HH syntax, being HH the hexadecimal representation of the byte.

This method is thread-safe.

Parameters:
text - the String to be escaped.
encoding - the encoding to be used for escaping.
Returns:
The escaped result String. As a memory-performance improvement, will return the exact same object as the text input argument if no escaping modifications were required (and no additional String objects will be created during processing). Will return null if text is null.

escapeUriPath

public static void escapeUriPath(char[] text,
                                 int offset,
                                 int len,
                                 Writer writer)
                          throws IOException

Perform am URI path escape operation on a char[] input using UTF-8 as encoding.

The following are the only allowed chars in an URI path (will not be escaped):

All other chars will be escaped by converting them to the sequence of bytes that represents them in the UTF-8 and then representing each byte in %HH syntax, being HH the hexadecimal representation of the byte.

This method is thread-safe.

Parameters:
text - the char[] to be escaped.
offset - the position in text at which the escape operation should start.
len - the number of characters in text that should be escaped.
writer - the java.io.Writer to which the escaped result will be written. Nothing will be written at all to this writer if text is null.
Throws:
IOException

escapeUriPath

public static void escapeUriPath(char[] text,
                                 int offset,
                                 int len,
                                 Writer writer,
                                 String encoding)
                          throws IOException

Perform am URI path escape operation on a char[] input.

The following are the only allowed chars in an URI path (will not be escaped):

All other chars will be escaped by converting them to the sequence of bytes that represents them in the specified encoding and then representing each byte in %HH syntax, being HH the hexadecimal representation of the byte.

This method is thread-safe.

Parameters:
text - the char[] to be escaped.
offset - the position in text at which the escape operation should start.
len - the number of characters in text that should be escaped.
writer - the java.io.Writer to which the escaped result will be written. Nothing will be written at all to this writer if text is null.
encoding - the encoding to be used for escaping.
Throws:
IOException

escapeUriPathSegment

public static void escapeUriPathSegment(char[] text,
                                        int offset,
                                        int len,
                                        Writer writer)
                                 throws IOException

Perform am URI path segment escape operation on a char[] input using UTF-8 as encoding.

The following are the only allowed chars in an URI path segment (will not be escaped):

All other chars will be escaped by converting them to the sequence of bytes that represents them in the UTF-8 and then representing each byte in %HH syntax, being HH the hexadecimal representation of the byte.

This method is thread-safe.

Parameters:
text - the char[] to be escaped.
offset - the position in text at which the escape operation should start.
len - the number of characters in text that should be escaped.
writer - the java.io.Writer to which the escaped result will be written. Nothing will be written at all to this writer if text is null.
Throws:
IOException

escapeUriPathSegment

public static void escapeUriPathSegment(char[] text,
                                        int offset,
                                        int len,
                                        Writer writer,
                                        String encoding)
                                 throws IOException

Perform am URI path segment escape operation on a char[] input.

The following are the only allowed chars in an URI path segment (will not be escaped):

All other chars will be escaped by converting them to the sequence of bytes that represents them in the specified encoding and then representing each byte in %HH syntax, being HH the hexadecimal representation of the byte.

This method is thread-safe.

Parameters:
text - the char[] to be escaped.
offset - the position in text at which the escape operation should start.
len - the number of characters in text that should be escaped.
writer - the java.io.Writer to which the escaped result will be written. Nothing will be written at all to this writer if text is null.
encoding - the encoding to be used for escaping.
Throws:
IOException

escapeUriQueryParam

public static void escapeUriQueryParam(char[] text,
                                       int offset,
                                       int len,
                                       Writer writer)
                                throws IOException

Perform am URI query parameter (name or value) escape operation on a char[] input using UTF-8 as encoding.

The following are the only allowed chars in an URI query parameter (will not be escaped):

All other chars will be escaped by converting them to the sequence of bytes that represents them in the UTF-8 and then representing each byte in %HH syntax, being HH the hexadecimal representation of the byte.

This method is thread-safe.

Parameters:
text - the char[] to be escaped.
offset - the position in text at which the escape operation should start.
len - the number of characters in text that should be escaped.
writer - the java.io.Writer to which the escaped result will be written. Nothing will be written at all to this writer if text is null.
Throws:
IOException

escapeUriQueryParam

public static void escapeUriQueryParam(char[] text,
                                       int offset,
                                       int len,
                                       Writer writer,
                                       String encoding)
                                throws IOException

Perform am URI query parameter (name or value) escape operation on a char[] input.

The following are the only allowed chars in an URI query parameter (will not be escaped):

All other chars will be escaped by converting them to the sequence of bytes that represents them in the specified encoding and then representing each byte in %HH syntax, being HH the hexadecimal representation of the byte.

This method is thread-safe.

Parameters:
text - the char[] to be escaped.
offset - the position in text at which the escape operation should start.
len - the number of characters in text that should be escaped.
writer - the java.io.Writer to which the escaped result will be written. Nothing will be written at all to this writer if text is null.
encoding - the encoding to be used for escaping.
Throws:
IOException

escapeUriFragmentId

public static void escapeUriFragmentId(char[] text,
                                       int offset,
                                       int len,
                                       Writer writer)
                                throws IOException

Perform am URI fragment identifier escape operation on a char[] input using UTF-8 as encoding.

The following are the only allowed chars in an URI fragment identifier (will not be escaped):

All other chars will be escaped by converting them to the sequence of bytes that represents them in the UTF-8 and then representing each byte in %HH syntax, being HH the hexadecimal representation of the byte.

This method is thread-safe.

Parameters:
text - the char[] to be escaped.
offset - the position in text at which the escape operation should start.
len - the number of characters in text that should be escaped.
writer - the java.io.Writer to which the escaped result will be written. Nothing will be written at all to this writer if text is null.
Throws:
IOException

escapeUriFragmentId

public static void escapeUriFragmentId(char[] text,
                                       int offset,
                                       int len,
                                       Writer writer,
                                       String encoding)
                                throws IOException

Perform am URI fragment identifier escape operation on a char[] input.

The following are the only allowed chars in an URI fragment identifier (will not be escaped):

All other chars will be escaped by converting them to the sequence of bytes that represents them in the specified encoding and then representing each byte in %HH syntax, being HH the hexadecimal representation of the byte.

This method is thread-safe.

Parameters:
text - the char[] to be escaped.
offset - the position in text at which the escape operation should start.
len - the number of characters in text that should be escaped.
writer - the java.io.Writer to which the escaped result will be written. Nothing will be written at all to this writer if text is null.
encoding - the encoding to be used for escaping.
Throws:
IOException

unescapeUriPath

public static String unescapeUriPath(String text)

Perform am URI path unescape operation on a String input using UTF-8 as encoding.

This method will unescape every percent-encoded (%HH) sequences present in input, even for those characters that do not need to be percent-encoded in this context (unreserved characters can be percent-encoded even if/when this is not required, though it is not generally considered a good practice).

This method will use UTF-8 in order to determine the characters specified in the percent-encoded byte sequences.

This method is thread-safe.

Parameters:
text - the String to be unescaped.
Returns:
The unescaped result String. As a memory-performance improvement, will return the exact same object as the text input argument if no unescaping modifications were required (and no additional String objects will be created during processing). Will return null if text is null.

unescapeUriPath

public static String unescapeUriPath(String text,
                                     String encoding)

Perform am URI path unescape operation on a String input.

This method will unescape every percent-encoded (%HH) sequences present in input, even for those characters that do not need to be percent-encoded in this context (unreserved characters can be percent-encoded even if/when this is not required, though it is not generally considered a good practice).

This method will use the specified encoding in order to determine the characters specified in the percent-encoded byte sequences.

This method is thread-safe.

Parameters:
text - the String to be unescaped.
encoding - the encoding to be used for unescaping.
Returns:
The unescaped result String. As a memory-performance improvement, will return the exact same object as the text input argument if no unescaping modifications were required (and no additional String objects will be created during processing). Will return null if text is null.

unescapeUriPathSegment

public static String unescapeUriPathSegment(String text)

Perform am URI path segment unescape operation on a String input using UTF-8 as encoding.

This method will unescape every percent-encoded (%HH) sequences present in input, even for those characters that do not need to be percent-encoded in this context (unreserved characters can be percent-encoded even if/when this is not required, though it is not generally considered a good practice).

This method will use UTF-8 in order to determine the characters specified in the percent-encoded byte sequences.

This method is thread-safe.

Parameters:
text - the String to be unescaped.
Returns:
The unescaped result String. As a memory-performance improvement, will return the exact same object as the text input argument if no unescaping modifications were required (and no additional String objects will be created during processing). Will return null if text is null.

unescapeUriPathSegment

public static String unescapeUriPathSegment(String text,
                                            String encoding)

Perform am URI path segment unescape operation on a String input.

This method will unescape every percent-encoded (%HH) sequences present in input, even for those characters that do not need to be percent-encoded in this context (unreserved characters can be percent-encoded even if/when this is not required, though it is not generally considered a good practice).

This method will use specified encoding in order to determine the characters specified in the percent-encoded byte sequences.

This method is thread-safe.

Parameters:
text - the String to be unescaped.
encoding - the encoding to be used for unescaping.
Returns:
The unescaped result String. As a memory-performance improvement, will return the exact same object as the text input argument if no unescaping modifications were required (and no additional String objects will be created during processing). Will return null if text is null.

unescapeUriQueryParam

public static String unescapeUriQueryParam(String text)

Perform am URI query parameter (name or value) unescape operation on a String input using UTF-8 as encoding.

This method will unescape every percent-encoded (%HH) sequences present in input, even for those characters that do not need to be percent-encoded in this context (unreserved characters can be percent-encoded even if/when this is not required, though it is not generally considered a good practice).

This method will use UTF-8 in order to determine the characters specified in the percent-encoded byte sequences.

This method is thread-safe.

Parameters:
text - the String to be unescaped.
Returns:
The unescaped result String. As a memory-performance improvement, will return the exact same object as the text input argument if no unescaping modifications were required (and no additional String objects will be created during processing). Will return null if text is null.

unescapeUriQueryParam

public static String unescapeUriQueryParam(String text,
                                           String encoding)

Perform am URI query parameter (name or value) unescape operation on a String input.

This method will unescape every percent-encoded (%HH) sequences present in input, even for those characters that do not need to be percent-encoded in this context (unreserved characters can be percent-encoded even if/when this is not required, though it is not generally considered a good practice).

This method will use specified encoding in order to determine the characters specified in the percent-encoded byte sequences.

This method is thread-safe.

Parameters:
text - the String to be unescaped.
encoding - the encoding to be used for unescaping.
Returns:
The unescaped result String. As a memory-performance improvement, will return the exact same object as the text input argument if no unescaping modifications were required (and no additional String objects will be created during processing). Will return null if text is null.

unescapeUriFragmentId

public static String unescapeUriFragmentId(String text)

Perform am URI fragment identifier unescape operation on a String input using UTF-8 as encoding.

This method will unescape every percent-encoded (%HH) sequences present in input, even for those characters that do not need to be percent-encoded in this context (unreserved characters can be percent-encoded even if/when this is not required, though it is not generally considered a good practice).

This method will use UTF-8 in order to determine the characters specified in the percent-encoded byte sequences.

This method is thread-safe.

Parameters:
text - the String to be unescaped.
Returns:
The unescaped result String. As a memory-performance improvement, will return the exact same object as the text input argument if no unescaping modifications were required (and no additional String objects will be created during processing). Will return null if text is null.

unescapeUriFragmentId

public static String unescapeUriFragmentId(String text,
                                           String encoding)

Perform am URI fragment identifier unescape operation on a String input.

This method will unescape every percent-encoded (%HH) sequences present in input, even for those characters that do not need to be percent-encoded in this context (unreserved characters can be percent-encoded even if/when this is not required, though it is not generally considered a good practice).

This method will use specified encoding in order to determine the characters specified in the percent-encoded byte sequences.

This method is thread-safe.

Parameters:
text - the String to be unescaped.
encoding - the encoding to be used for unescaping.
Returns:
The unescaped result String. As a memory-performance improvement, will return the exact same object as the text input argument if no unescaping modifications were required (and no additional String objects will be created during processing). Will return null if text is null.

unescapeUriPath

public static void unescapeUriPath(char[] text,
                                   int offset,
                                   int len,
                                   Writer writer)
                            throws IOException

Perform am URI path unescape operation on a char[] input using UTF-8 as encoding.

This method will unescape every percent-encoded (%HH) sequences present in input, even for those characters that do not need to be percent-encoded in this context (unreserved characters can be percent-encoded even if/when this is not required, though it is not generally considered a good practice).

This method will use UTF-8 in order to determine the characters specified in the percent-encoded byte sequences.

This method is thread-safe.

Parameters:
text - the char[] to be unescaped.
offset - the position in text at which the escape operation should start.
len - the number of characters in text that should be escaped.
writer - the java.io.Writer to which the unescaped result will be written. Nothing will be written at all to this writer if text is null.
Throws:
IOException

unescapeUriPath

public static void unescapeUriPath(char[] text,
                                   int offset,
                                   int len,
                                   Writer writer,
                                   String encoding)
                            throws IOException

Perform am URI path unescape operation on a char[] input.

This method will unescape every percent-encoded (%HH) sequences present in input, even for those characters that do not need to be percent-encoded in this context (unreserved characters can be percent-encoded even if/when this is not required, though it is not generally considered a good practice).

This method will use specified encoding in order to determine the characters specified in the percent-encoded byte sequences.

This method is thread-safe.

Parameters:
text - the char[] to be unescaped.
offset - the position in text at which the escape operation should start.
len - the number of characters in text that should be escaped.
writer - the java.io.Writer to which the unescaped result will be written. Nothing will be written at all to this writer if text is null.
encoding - the encoding to be used for unescaping.
Throws:
IOException

unescapeUriPathSegment

public static void unescapeUriPathSegment(char[] text,
                                          int offset,
                                          int len,
                                          Writer writer)
                                   throws IOException

Perform am URI path segment unescape operation on a char[] input using UTF-8 as encoding.

This method will unescape every percent-encoded (%HH) sequences present in input, even for those characters that do not need to be percent-encoded in this context (unreserved characters can be percent-encoded even if/when this is not required, though it is not generally considered a good practice).

This method will use UTF-8 in order to determine the characters specified in the percent-encoded byte sequences.

This method is thread-safe.

Parameters:
text - the char[] to be unescaped.
offset - the position in text at which the escape operation should start.
len - the number of characters in text that should be escaped.
writer - the java.io.Writer to which the unescaped result will be written. Nothing will be written at all to this writer if text is null.
Throws:
IOException

unescapeUriPathSegment

public static void unescapeUriPathSegment(char[] text,
                                          int offset,
                                          int len,
                                          Writer writer,
                                          String encoding)
                                   throws IOException

Perform am URI path segment unescape operation on a char[] input.

This method will unescape every percent-encoded (%HH) sequences present in input, even for those characters that do not need to be percent-encoded in this context (unreserved characters can be percent-encoded even if/when this is not required, though it is not generally considered a good practice).

This method will use specified encoding in order to determine the characters specified in the percent-encoded byte sequences.

This method is thread-safe.

Parameters:
text - the char[] to be unescaped.
offset - the position in text at which the escape operation should start.
len - the number of characters in text that should be escaped.
writer - the java.io.Writer to which the unescaped result will be written. Nothing will be written at all to this writer if text is null.
encoding - the encoding to be used for unescaping.
Throws:
IOException

unescapeUriQueryParam

public static void unescapeUriQueryParam(char[] text,
                                         int offset,
                                         int len,
                                         Writer writer)
                                  throws IOException

Perform am URI query parameter (name or value) unescape operation on a char[] input using UTF-8 as encoding.

This method will unescape every percent-encoded (%HH) sequences present in input, even for those characters that do not need to be percent-encoded in this context (unreserved characters can be percent-encoded even if/when this is not required, though it is not generally considered a good practice).

This method will use UTF-8 in order to determine the characters specified in the percent-encoded byte sequences.

This method is thread-safe.

Parameters:
text - the char[] to be unescaped.
offset - the position in text at which the escape operation should start.
len - the number of characters in text that should be escaped.
writer - the java.io.Writer to which the unescaped result will be written. Nothing will be written at all to this writer if text is null.
Throws:
IOException

unescapeUriQueryParam

public static void unescapeUriQueryParam(char[] text,
                                         int offset,
                                         int len,
                                         Writer writer,
                                         String encoding)
                                  throws IOException

Perform am URI query parameter (name or value) unescape operation on a char[] input.

This method will unescape every percent-encoded (%HH) sequences present in input, even for those characters that do not need to be percent-encoded in this context (unreserved characters can be percent-encoded even if/when this is not required, though it is not generally considered a good practice).

This method will use specified encoding in order to determine the characters specified in the percent-encoded byte sequences.

This method is thread-safe.

Parameters:
text - the char[] to be unescaped.
offset - the position in text at which the escape operation should start.
len - the number of characters in text that should be escaped.
writer - the java.io.Writer to which the unescaped result will be written. Nothing will be written at all to this writer if text is null.
encoding - the encoding to be used for unescaping.
Throws:
IOException

unescapeUriFragmentId

public static void unescapeUriFragmentId(char[] text,
                                         int offset,
                                         int len,
                                         Writer writer)
                                  throws IOException

Perform am URI fragment identifier unescape operation on a char[] input using UTF-8 as encoding.

This method will unescape every percent-encoded (%HH) sequences present in input, even for those characters that do not need to be percent-encoded in this context (unreserved characters can be percent-encoded even if/when this is not required, though it is not generally considered a good practice).

This method will use UTF-8 in order to determine the characters specified in the percent-encoded byte sequences.

This method is thread-safe.

Parameters:
text - the char[] to be unescaped.
offset - the position in text at which the escape operation should start.
len - the number of characters in text that should be escaped.
writer - the java.io.Writer to which the unescaped result will be written. Nothing will be written at all to this writer if text is null.
Throws:
IOException

unescapeUriFragmentId

public static void unescapeUriFragmentId(char[] text,
                                         int offset,
                                         int len,
                                         Writer writer,
                                         String encoding)
                                  throws IOException

Perform am URI fragment identifier unescape operation on a char[] input.

This method will unescape every percent-encoded (%HH) sequences present in input, even for those characters that do not need to be percent-encoded in this context (unreserved characters can be percent-encoded even if/when this is not required, though it is not generally considered a good practice).

This method will use specified encoding in order to determine the characters specified in the percent-encoded byte sequences.

This method is thread-safe.

Parameters:
text - the char[] to be unescaped.
offset - the position in text at which the escape operation should start.
len - the number of characters in text that should be escaped.
writer - the java.io.Writer to which the unescaped result will be written. Nothing will be written at all to this writer if text is null.
encoding - the encoding to be used for unescaping.
Throws:
IOException


Copyright © 2014 The UNBESCAPE team. All rights reserved.