Decode the path path of a URI.
Decode the path path of a URI. Each path segment will be decoded
using the same rules as
. No normalization is performed:
leading, trailing and duplicated slashes, if present are left as they are and
if absent remain absent; dot-segments (".." and ".") are ignored.decodePathSegment
Encoded slash characters are will appear as slashes in the output, thus "a/b" will be indistinguishable from "a%2Fb".
The string to decode. Must use the US-ASCII character set.
The name of the encoding that the output should be encoded with. The output string will be converted from octets (bytes) using this character encoding.
A decoded string in the outputCharset
character set.
InvalidEncodingException
If the input is not a valid encoded path.
Decode a string according to the rules for the "path segment" part of a URI.
Decode a string according to the rules for the "path segment"
part of a URI. A path segment is defined in RFC 3986. In a URI such
as http://www.example.com/abc/def?a=1&b=2
both abc
and def
are path segments.
Path segment encoding differs from encoding for other parts of a URI. For example, the "&" character is permitted in a path segment, but has special meaning in query parameters. On the other hand, the "/" character cannot appear in a path segment, as it is the path delimiter, so it must be encoded as "%2F". These are just two examples of the differences between path segment and query string encoding; there are other differences too.
When decoding path segments the decodePathSegment
method should always
be used in preference to the java.net.URLDecoder.decode(String,String)
method. URLDecoder.decode
, despite its name, actually decodes
the application/x-www-form-urlencoded
MIME format which is the encoding
used for form data in HTTP GET and POST requests. This format is suitable
for inclusion in the query part of a URI. But URLDecoder.decoder
should not
be used for path segment encoding or decoding.
The string to decode. Must use the US-ASCII character set.
The name of the encoding that the output should be encoded with. The output string will be converted from octets (bytes) using this character encoding.
A decoded string in the outputCharset
character set.
InvalidEncodingException
If the input is not a valid encoded path segment.
Encode a string so that it can be used safely in the "path segment" part of a URI.
Encode a string so that it can be used safely in the "path segment"
part of a URI. A path segment is defined in RFC 3986. In a URI such
as http://www.example.com/abc/def?a=1&b=2
both abc
and def
are path segments.
Path segment encoding differs from encoding for other parts of a URI. For example, the "&" character is permitted in a path segment, but has special meaning in query parameters. On the other hand, the "/" character cannot appear in a path segment, as it is the path delimiter, so it must be encoded as "%2F". These are just two examples of the differences between path segment and query string encoding; there are other differences too.
When encoding path segments the encodePathSegment
method should always
be used in preference to the java.net.URLEncoder.encode(String,String)
method. URLEncoder.encode
, despite its name, actually provides encoding
in the application/x-www-form-urlencoded
MIME format which is the encoding
used for form data in HTTP GET and POST requests. This encoding is suitable
for inclusion in the query part of a URI. But URLEncoder.encode
should not
be used for path segment encoding. (Also note that URLEncoder.encode
is
not quite spec compliant. For example, it percent-encodes the ~
character when
really it should leave it as unencoded.)
The string to encode.
The name of the encoding that the string s
is encoded with.
The string s
will be converted to octets (bytes) using this character encoding.
An encoded string in the US-ASCII character set.
Provides support for correctly encoding pieces of URIs.
http://www.ietf.org/rfc/rfc3986.txt