Package org.apache.tomcat.util.buf

## Class UEncoder

- java.lang.Object
- - org.apache.tomcat.util.buf.UEncoder

    public final class UEncoder
    extends java.lang.Object

Efficient implementation of a UTF-8 encoder. This class is not thread safe - you need one encoder per thread. The encoder will save and recycle the internal objects, avoiding garbage. You can add extra characters that you want preserved, for example while encoding a URL you can add "/".

Author:
  Costin Manolache

### Nested Class Summary

Nested Classes
`static class` `UEncoder.SafeCharsSet`

### Constructor Summary

Constructors
`UEncoder​(UEncoder.SafeCharsSet safeCharsSet)` Create a UEncoder with an unmodifiable safe character set.

### Method Summary

All Methods Instance Methods Concrete Methods
`CharChunk` `encodeURL​(java.lang.String s, int start, int end)` URL Encode string, using a specified encoding.
`protected void` `urlEncode​(CharChunk out, ByteChunk bb)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### UEncoder

    public UEncoder​(UEncoder.SafeCharsSet safeCharsSet)

Create a UEncoder with an unmodifiable safe character set.

Parameters:
  `safeCharsSet` - safe characters for this encoder

### Method Detail

#### encodeURL

    public CharChunk encodeURL​(java.lang.String s,
                               int start,
                               int end)
                        throws java.io.IOException

URL Encode string, using a specified encoding.

Parameters:
  `s` - string to be encoded
  `start` - the beginning index, inclusive
  `end` - the ending index, exclusive
Returns:
  A new CharChunk contained the URL encoded string
Throws:
  `java.io.IOException` - If an I/O error occurs

#### urlEncode

    protected void urlEncode​(CharChunk out,
                             ByteChunk bb)
                      throws java.io.IOException

Throws:
  `java.io.IOException`