Class UrlEscapers
-
- com.google.common.net.UrlEscapers
-
@GwtCompatible public final class UrlEscapers extends
Escaper
instances suitable for strings to be included in particular sections of URLs.If the resulting URLs are inserted into an HTML or XML document, they will require additional escaping with
HtmlEscapers
orXmlEscapers
.- Since:
- 15.0
- Author:
- David Beaumont, Chris Povirk
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Escaper
urlFormParameterEscaper()
Returns an .static Escaper
urlFragmentEscaper()
Returns an .static Escaper
urlPathSegmentEscaper()
Returns an .
-
-
-
Method Detail
-
urlFormParameterEscaper
public static Escaper urlFormParameterEscaper()
Returns an . Escaping is performed with the UTF-8 character encoding. The caller is responsible for on any non-file inputs before escaping them with this escaper.When escaping a String, the following rules apply:
- The alphanumeric characters "a" through "z", "A" through "Z" and "0" through "9" remain the same.
- The special characters ".", "-", "*", and "_" remain the same.
- The space character " " is converted into a plus sign "+".
- All other characters are converted into one or more bytes using UTF-8 encoding and each byte is then represented by the 3-character string "%XY", where "XY" is the two-digit, uppercase, hexadecimal representation of the byte value.
This escaper is suitable for escaping parameter names and values even when , rather than the ampersand, as a parameter delimiter. Nevertheless, we recommend using the ampersand unless you must interoperate with systems that require semicolons.
Note: Unlike other escapers, URL escapers produce hexadecimal sequences.
-
urlPathSegmentEscaper
public static Escaper urlPathSegmentEscaper()
Returns an . The returned escaper escapes all non-ASCII characters, even though . () Additionally, the escaper escapes the slash character ("/"). While slashes are acceptable in URL paths, they are considered by the specification to be separators between "path segments." This implies that, if you wish for your path to contain slashes, you must escape each segment separately and then join them.When escaping a String, the following rules apply:
- The alphanumeric characters "a" through "z", "A" through "Z" and "0" through "9" remain the same.
- The unreserved characters ".", "-", "~", and "_" remain the same.
- The general delimiters "@" and ":" remain the same.
- The subdelimiters "!", "$", "&", "'", "(", ")", "*", "+", ",", ";", and "=" remain the same.
- The space character " " is converted into %20.
- All other characters are converted into one or more bytes using UTF-8 encoding and each byte is then represented by the 3-character string "%XY", where "XY" is the two-digit, uppercase, hexadecimal representation of the byte value.
Note: Unlike other escapers, URL escapers produce hexadecimal sequences.
-
urlFragmentEscaper
public static Escaper urlFragmentEscaper()
Returns an . The returned escaper escapes all non-ASCII characters, even though .When escaping a String, the following rules apply:
- The alphanumeric characters "a" through "z", "A" through "Z" and "0" through "9" remain the same.
- The unreserved characters ".", "-", "~", and "_" remain the same.
- The general delimiters "@" and ":" remain the same.
- The subdelimiters "!", "$", "&", "'", "(", ")", "*", "+", ",", ";", and "=" remain the same.
- The space character " " is converted into %20.
- Fragments allow unescaped "/" and "?", so they remain the same.
- All other characters are converted into one or more bytes using UTF-8 encoding and each byte is then represented by the 3-character string "%XY", where "XY" is the two-digit, uppercase, hexadecimal representation of the byte value.
Note: Unlike other escapers, URL escapers produce hexadecimal sequences.
-
-