### org.jfree.layouting.util

# Class UTFEncodingUtil

- `java.lang.Object`
- - `org.jfree.layouting.util.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.

> <quote> "...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."</quote>

> - 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