Escaper function ( ) { return URL_FRAGMENT_ESCAPER ; }
returns an escaper instance that escapes strings so they can besafely included in a url fragment . the returned escaper escapes all non-ascii characters , even though many of these are accepted in modern urls . if the escaper were to leave these characters unescaped , they would be escaped by the consumer at parse time , anyway . 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 uppercase hexadecimal sequences . from rfc 3986 : `` uri producers and normalizers should use uppercase hexadecimal digits for all percent-encodings . '' concode_field_sep String URL_FORM_PARAMETER_OTHER_SAFE_CHARS concode_elem_sep Escaper URL_FORM_PARAMETER_ESCAPER concode_elem_sep Escaper URL_FRAGMENT_ESCAPER concode_elem_sep Escaper URL_PATH_SEGMENT_ESCAPER concode_elem_sep String URL_PATH_OTHER_SAFE_CHARS_LACKING_PLUS concode_field_sep Escaper urlPathSegmentEscaper concode_elem_sep Escaper urlFormParameterEscaper