Class UEncoder


  • public final class UEncoder
    extends Object
    Efficient implementation for encoders. 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
    • Constructor Detail

      • UEncoder

        public UEncoder()
    • Method Detail

      • setEncoding

        public void setEncoding​(String s)
      • addSafeCharacter

        public void addSafeCharacter​(char c)
      • urlEncode

        public void urlEncode​(Writer buf,
                              String s)
                       throws IOException
        URL Encode string, using a specified encoding.
        Parameters:
        buf - the Writer to write the encoded result to.
        s - the String to encode.
        Throws:
        IOException
      • urlEncode

        public void urlEncode​(Writer buf,
                              String s,
                              boolean toHexUpperCase)
                       throws IOException
        URL Encode string, using a specified encoding.
        Parameters:
        buf - the Writer to write the encoded result to.
        s - the String to encode.
        toHexUpperCase - the hex string will be in upper case
        Throws:
        IOException
      • urlEncode

        public void urlEncode​(Writer buf,
                              byte[] bytes,
                              int off,
                              int len,
                              boolean toHexUpperCase)
                       throws IOException
        Throws:
        IOException
      • encodeURL

        public String encodeURL​(String url)
        Utility funtion to re-encode the URL. Still has problems with charset, since UEncoder mostly ignores it.
        Parameters:
        url -
      • encodeURL

        public String encodeURL​(String uri,
                                boolean toHexUpperCase)
        Utility function to re-encode the URL. Still has problems with charset, since UEncoder mostly ignores it.
        Parameters:
        uri - the URI to encode.
        toHexUpperCase - the hex string will be in upper case