org.jfree.layouting.util

Class UTFEncodingUtil


public class UTFEncodingUtil
extends java.lang.Object

Provides a method to encode any string into a URL-safe form. Non-ASCII characters are first encoded as sequences of two or three bytes, using the UTF-8 algorithm, before being encoded as %HH escapes.

Code is the public example given at http://www.w3.org/International/O-URL-code.html

Method Summary

static String
decode(String s, String encoding)
static String
decodeUTF(String s)
static String
encode(String s)
static String
encode(String s, String encoding)
static String
encodeUTF8(String s)
Encode a string according to RFC 1738.

Method Details

decode

public static String decode(String s,
                            String encoding)
            throws UnsupportedEncodingException

decodeUTF

public static String decodeUTF(String s)

encode

public static String encode(String s)
            throws UnsupportedEncodingException

encode

public static String encode(String s,
                            String encoding)
            throws UnsupportedEncodingException

encodeUTF8

public static String encodeUTF8(String s)
Encode a string according to RFC 1738.

"...Only alphanumerics [0-9a-zA-Z], the special characters "$-_.+!*'()," [not including the quotes - ed], and reserved characters used for their reserved purposes may be used unencoded within a URL."

  • The ASCII characters 'a' through 'z', 'A' through 'Z', and '0' through '9' remain the same.

  • The unreserved characters - _ . ! ~ * ' ( ) remain the same.

  • All other ASCII characters are converted into the 3-character string "%xy", where xy is the two-digit hexadecimal representation of the character code

  • All non-ASCII characters are encoded in two steps: first to a sequence of 2 or 3 bytes, using the UTF-8 algorithm; secondly each of these bytes is encoded as "%xx".

Parameters:
s - The string to be encoded
Returns:
The encoded string