The objective of this document is to summarize how the most common Java encoders behave with different one character input. Each library tested is handled as a pluggable endpoint that will receive the list of characters to evaluate and returns the converted list of characters. These details are then included in the final result in form of printable HTML table.
The set of input that were considered relevant to be encoded are:
0x000A, // LF - Line feed
0x000B, // VT - Vertical Tab
0x000C, // FF - Form feed
0x000D, // CR - Carriage Return
0x0085, // NEL - Next line
0x008B, // Partial line forward
0x008D, // Reverse line feed
0x2028, // LS - Line separator
0x2029, // PS - Paragraph separator
'"',
'\'',
'<',
'>',
':',
';',
'\\',
'&',
'/',
'=',
'(',
')',
'[',
'{',
'}',
'#',
'`',
where the first subset between 0x000A to 0x2029 are specifically considered relevant for CRLF injection and as such connected to CWE 93, 113 and 117. These set of characters was created after taking into consideration also the following references: Visual Studio Docs - Encodings and line endings CODING HORROR - The Great Newline Schism
The characters 0x0085, // NEL - Next line 0x008B, // Partial line forward 0x008D, // Reverse line feed where included to have an extended view on the behaviour of the reviewed methods on uncommon characters that in some context can be considered as introducing a new line. 0x0085(NEL - Next line) is considered as new line in Visual Studio, while 0x008B (Partial line forward) and 0x008D (Reverse line feed) are usually seen in old printers manuals and often considered as simple white space.
The remaining list of characters were considered relevant for the risk of Cross Site scripting (CWE 80).
The folder generated contains a list of output generated by each method in HTML format
Note:
- ~unchgd identifies values that were not changed by the tested method
- EMPTY identifies when the tested method returned an empty string when handling the input character
Spring-web defines a list of methods in the abstract class org.springframework.web.util.UriUtils
that can be used to
perform URI encoding and decoding based on RFC 3986.
These methods implement an allow list approach to identify a character that is part of the allowed set for the specified encoding. All the characters that are outside the allowed set are represented using Percent-Encoding, % followed by the two hexadecimal digits representing that octet's numeric value (for example: %20 for the space character in the US-ASCII encoding).
Value | encode (UTF-8) | encodeAuthority (UTF-8) | encodeFragment (UTF-8) | encodeHost (UTF-8) | encodePath (UTF-8) |
---|---|---|---|---|---|
[0x000A] - LINE FEED (LF) | %0A | %0A | %0A | %0A | %0A |
[0x000B] - LINE TABULATION | %0B | %0B | %0B | %0B | %0B |
[0x000C] - FORM FEED (FF) | %0C | %0C | %0C | %0C | %0C |
[0x000D] - CARRIAGE RETURN (CR) | %0D | %0D | %0D | %0D | %0D |
[0x0085] - NEXT LINE (NEL) | %C2%85 | %C2%85 | %C2%85 | %C2%85 | %C2%85 |
[0x008B] - PARTIAL LINE FORWARD | %C2%8B | %C2%8B | %C2%8B | %C2%8B | %C2%8B |
[0x008D] - REVERSE LINE FEED | %C2%8D | %C2%8D | %C2%8D | %C2%8D | %C2%8D |
[0x2028] - LINE SEPARATOR | %E2%80%A8 | %E2%80%A8 | %E2%80%A8 | %E2%80%A8 | %E2%80%A8 |
[0x2029] - PARAGRAPH SEPARATOR | %E2%80%A9 | %E2%80%A9 | %E2%80%A9 | %E2%80%A9 | %E2%80%A9 |
[0x005C] - \ | %5C | %5C | %5C | %5C | %5C |
[0x0027] - ' | %27 | ' ~unchgd | ' ~unchgd | ' ~unchgd | ' ~unchgd |
[0x0022] - " | %22 | %22 | %22 | %22 | %22 |
[0x003C] - < | %3C | %3C | %3C | %3C | %3C |
[0x003E] - > | %3E | %3E | %3E | %3E | %3E |
[0x003A] - : | %3A | : ~unchgd | : ~unchgd | %3A | : ~unchgd |
[0x003B] - ; | %3B | ; ~unchgd | ; ~unchgd | ; ~unchgd | ; ~unchgd |
[0x0026] - & | %26 | & ~unchgd | & ~unchgd | & ~unchgd | & ~unchgd |
[0x002F] - / | %2F | %2F | / ~unchgd | %2F | / ~unchgd |
[0x003D] - = | %3D | = ~unchgd | = ~unchgd | = ~unchgd | = ~unchgd |
[0x0028] - ( | %28 | ( ~unchgd | ( ~unchgd | ( ~unchgd | ( ~unchgd |
[0x0029] - ) | %29 | ) ~unchgd | ) ~unchgd | ) ~unchgd | ) ~unchgd |
[0x005B] - [ | %5B | %5B | %5B | %5B | %5B |
[0x007B] - { | %7B | %7B | %7B | %7B | %7B |
[0x007D] - } | %7D | %7D | %7D | %7D | %7D |
[0x0023] - # | %23 | %23 | %23 | %23 | %23 |
[0x0060] - ` | %60 | %60 | %60 | %60 | %60 |
[0x0024] - $ | %24 | $ ~unchgd | $ ~unchgd | $ ~unchgd | $ ~unchgd |
Value | encodePathSegment (UTF-8) | encodePort (UTF-8) | encodeQuery (UTF-8) | encodeQueryParam (UTF-8) | encodeScheme (UTF-8) |
---|---|---|---|---|---|
[0x000A] - LINE FEED (LF) | %0A | %0A | %0A | %0A | %0A |
[0x000B] - LINE TABULATION | %0B | %0B | %0B | %0B | %0B |
[0x000C] - FORM FEED (FF) | %0C | %0C | %0C | %0C | %0C |
[0x000D] - CARRIAGE RETURN (CR) | %0D | %0D | %0D | %0D | %0D |
[0x0085] - NEXT LINE (NEL) | %C2%85 | %C2%85 | %C2%85 | %C2%85 | %C2%85 |
[0x008B] - PARTIAL LINE FORWARD | %C2%8B | %C2%8B | %C2%8B | %C2%8B | %C2%8B |
[0x008D] - REVERSE LINE FEED | %C2%8D | %C2%8D | %C2%8D | %C2%8D | %C2%8D |
[0x2028] - LINE SEPARATOR | %E2%80%A8 | %E2%80%A8 | %E2%80%A8 | %E2%80%A8 | %E2%80%A8 |
[0x2029] - PARAGRAPH SEPARATOR | %E2%80%A9 | %E2%80%A9 | %E2%80%A9 | %E2%80%A9 | %E2%80%A9 |
[0x005C] - \ | %5C | %5C | %5C | %5C | %5C |
[0x0027] - ' | ' ~unchgd | %27 | ' ~unchgd | ' ~unchgd | %27 |
[0x0022] - " | %22 | %22 | %22 | %22 | %22 |
[0x003C] - < | %3C | %3C | %3C | %3C | %3C |
[0x003E] - > | %3E | %3E | %3E | %3E | %3E |
[0x003A] - : | : ~unchgd | %3A | : ~unchgd | : ~unchgd | %3A |
[0x003B] - ; | ; ~unchgd | %3B | ; ~unchgd | ; ~unchgd | %3B |
[0x0026] - & | & ~unchgd | %26 | & ~unchgd | %26 | %26 |
[0x002F] - / | %2F | %2F | / ~unchgd | / ~unchgd | %2F |
[0x003D] - = | = ~unchgd | %3D | = ~unchgd | %3D | %3D |
[0x0028] - ( | ( ~unchgd | %28 | ( ~unchgd | ( ~unchgd | %28 |
[0x0029] - ) | ) ~unchgd | %29 | ) ~unchgd | ) ~unchgd | %29 |
[0x005B] - [ | %5B | %5B | %5B | %5B | %5B |
[0x007B] - { | %7B | %7B | %7B | %7B | %7B |
[0x007D] - } | %7D | %7D | %7D | %7D | %7D |
[0x0023] - # | %23 | %23 | %23 | %23 | %23 |
[0x0060] - ` | %60 | %60 | %60 | %60 | %60 |
[0x0024] - $ | $ ~unchgd | %24 | $ ~unchgd | $ ~unchgd | %24 |
Value | encodeUserInfo (UTF-8) |
---|---|
[0x000A] - LINE FEED (LF) | %0A |
[0x000B] - LINE TABULATION | %0B |
[0x000C] - FORM FEED (FF) | %0C |
[0x000D] - CARRIAGE RETURN (CR) | %0D |
[0x0085] - NEXT LINE (NEL) | %C2%85 |
[0x008B] - PARTIAL LINE FORWARD | %C2%8B |
[0x008D] - REVERSE LINE FEED | %C2%8D |
[0x2028] - LINE SEPARATOR | %E2%80%A8 |
[0x2029] - PARAGRAPH SEPARATOR | %E2%80%A9 |
[0x005C] - \ | %5C |
[0x0027] - ' | ' ~unchgd |
[0x0022] - " | %22 |
[0x003C] - < | %3C |
[0x003E] - > | %3E |
[0x003A] - : | : ~unchgd |
[0x003B] - ; | ; ~unchgd |
[0x0026] - & | & ~unchgd |
[0x002F] - / | %2F |
[0x003D] - = | = ~unchgd |
[0x0028] - ( | ( ~unchgd |
[0x0029] - ) | ) ~unchgd |
[0x005B] - [ | %5B |
[0x007B] - { | %7B |
[0x007D] - } | %7D |
[0x0023] - # | %23 |
[0x0060] - ` | %60 |
[0x0024] - $ | $ ~unchgd |
The methods normalizeSpace
and deleteWhitespace
from the library org.apache.commons.lang3.StringUtils
can be
considered valid cleansers for CRLF injection. They both modify the returned string in different ways.
normalizeSpace
returns the argument string with whitespace normalized by using trim to remove leading and trailing
whitespace and then replacing sequences of whitespace characters by a single space.
deleteWhitespace
removes all whitespaces from the original input string.
For these reasons even though they can be used as cleanser for CWEID 117 (Log Injection) I would personally prefer
methods that were explicitly designed for the purpose of remediate Log Injection while at the same time maintaining the
content original string.
Value | normalizeSpace | deleteWhitespace |
---|---|---|
[0x000A] - LINE FEED (LF) | EMPTY | EMPTY |
[0x000B] - LINE TABULATION | EMPTY | EMPTY |
[0x000C] - FORM FEED (FF) | EMPTY | EMPTY |
[0x000D] - CARRIAGE RETURN (CR) | EMPTY | EMPTY |
[0x0085] - NEXT LINE (NEL) | [133] ~unchgd | [133] ~unchgd |
[0x008B] - PARTIAL LINE FORWARD | [139] ~unchgd | [139] ~unchgd |
[0x008D] - REVERSE LINE FEED | [141] ~unchgd | [141] ~unchgd |
[0x2028] - LINE SEPARATOR | EMPTY | EMPTY |
[0x2029] - PARAGRAPH SEPARATOR | EMPTY | EMPTY |
[0x005C] - \ | \ ~unchgd | \ ~unchgd |
[0x0027] - ' | ' ~unchgd | ' ~unchgd |
[0x0022] - " | " ~unchgd | " ~unchgd |
[0x003C] - < | < ~unchgd | < ~unchgd |
[0x003E] - > | > ~unchgd | > ~unchgd |
[0x003A] - : | : ~unchgd | : ~unchgd |
[0x003B] - ; | ; ~unchgd | ; ~unchgd |
[0x0026] - & | & ~unchgd | & ~unchgd |
[0x002F] - / | / ~unchgd | / ~unchgd |
[0x003D] - = | = ~unchgd | = ~unchgd |
[0x0028] - ( | ( ~unchgd | ( ~unchgd |
[0x0029] - ) | ) ~unchgd | ) ~unchgd |
[0x005B] - [ | [ ~unchgd | [ ~unchgd |
[0x007B] - { | { ~unchgd | { ~unchgd |
[0x007D] - } | } ~unchgd | } ~unchgd |
[0x0023] - # | # ~unchgd | # ~unchgd |
[0x0060] - ` | ` ~unchgd | ` ~unchgd |
The methods normalizeSpace
and deleteWhitespace
from the library org.apache.commons.lang.StringUtils
can be
considered valid cleansers for CRLF injection. They both modify the returned string in different ways.
normalizeSpace
returns the argument string with whitespace normalized by using trim to remove leading and trailing
whitespace and then replacing sequences of whitespace characters by a single space.
deleteWhitespace
removes all whitespaces from the original input string.
For this reasons even though they can be used as cleanser for CWEID 117 (Log Injection) I would personally prefer
methods that were explicitly designed for the purpose of remediate Log Injection while at the same time maintaining the
content original string.
Value | normalizeSpace | deleteWhitespace |
---|---|---|
[0x000A] - LINE FEED (LF) | EMPTY | EMPTY |
[0x000B] - LINE TABULATION | EMPTY | EMPTY |
[0x000C] - FORM FEED (FF) | EMPTY | EMPTY |
[0x000D] - CARRIAGE RETURN (CR) | EMPTY | EMPTY |
[0x0085] - NEXT LINE (NEL) | [133] ~unchgd | [133] ~unchgd |
[0x008B] - PARTIAL LINE FORWARD | [139] ~unchgd | [139] ~unchgd |
[0x008D] - REVERSE LINE FEED | [141] ~unchgd | [141] ~unchgd |
[0x2028] - LINE SEPARATOR | EMPTY | EMPTY |
[0x2029] - PARAGRAPH SEPARATOR | EMPTY | EMPTY |
[0x005C] - \ | \ ~unchgd | \ ~unchgd |
[0x0027] - ' | ' ~unchgd | ' ~unchgd |
[0x0022] - " | " ~unchgd | " ~unchgd |
[0x003C] - < | < ~unchgd | < ~unchgd |
[0x003E] - > | > ~unchgd | > ~unchgd |
[0x003A] - : | : ~unchgd | : ~unchgd |
[0x003B] - ; | ; ~unchgd | ; ~unchgd |
[0x0026] - & | & ~unchgd | & ~unchgd |
[0x002F] - / | / ~unchgd | / ~unchgd |
[0x003D] - = | = ~unchgd | = ~unchgd |
[0x0028] - ( | ( ~unchgd | ( ~unchgd |
[0x0029] - ) | ) ~unchgd | ) ~unchgd |
[0x005B] - [ | [ ~unchgd | [ ~unchgd |
[0x007B] - { | { ~unchgd | { ~unchgd |
[0x007D] - } | } ~unchgd | } ~unchgd |
[0x0023] - # | # ~unchgd | # ~unchgd |
[0x0060] - ` | ` ~unchgd | ` ~unchgd |
[0x0024] - $ | $ ~unchgd | $ ~unchgd |
It is interesting to note how replaceLinearWhiteSpace
doesn't handle [0x2028] - LINE SEPARATOR and [0x2029] -
PARAGRAPH SEPARATOR that are often considered relevant for the risk of CRLF injection. In case when the scope where the
tainted string will be logged is unknown I would choose a different method than replaceLinearWhiteSpace
.
Value | replaceLinearWhiteSpace | stripControls |
---|---|---|
[0x000A] - LINE FEED (LF) | [32] | [32] |
[0x000B] - LINE TABULATION | [32] | [32] |
[0x000C] - FORM FEED (FF) | [32] | [32] |
[0x000D] - CARRIAGE RETURN (CR) | [32] | [32] |
[0x0085] - NEXT LINE (NEL) | [133] ~unchgd | [32] |
[0x008B] - PARTIAL LINE FORWARD | [139] ~unchgd | [32] |
[0x008D] - REVERSE LINE FEED | [141] ~unchgd | [32] |
[0x2028] - LINE SEPARATOR | [8232] ~unchgd | [32] |
[0x2029] - PARAGRAPH SEPARATOR | [8233] ~unchgd | [32] |
[0x005C] - \ | \ ~unchgd | \ ~unchgd |
[0x0027] - ' | ' ~unchgd | ' ~unchgd |
[0x0022] - " | " ~unchgd | " ~unchgd |
[0x003C] - < | < ~unchgd | < ~unchgd |
[0x003E] - > | > ~unchgd | > ~unchgd |
[0x003A] - : | : ~unchgd | : ~unchgd |
[0x003B] - ; | ; ~unchgd | ; ~unchgd |
[0x0026] - & | & ~unchgd | & ~unchgd |
[0x002F] - / | / ~unchgd | / ~unchgd |
[0x003D] - = | = ~unchgd | = ~unchgd |
[0x0028] - ( | ( ~unchgd | ( ~unchgd |
[0x0029] - ) | ) ~unchgd | ) ~unchgd |
[0x005B] - [ | [ ~unchgd | [ ~unchgd |
[0x007B] - { | { ~unchgd | { ~unchgd |
[0x007D] - } | } ~unchgd | } ~unchgd |
[0x0023] - # | # ~unchgd | # ~unchgd |
[0x0060] - ` | ` ~unchgd | ` ~unchgd |
[0x0024] - $ | $ ~unchgd | $ ~unchgd |
Value | htmlEscape | htmlEscapeAllowEntities | fromString |
---|---|---|---|
[0x000A] - LINE FEED (LF) | [10] ~unchgd | [10] ~unchgd | [10] ~unchgd |
[0x000B] - LINE TABULATION | [11] ~unchgd | [11] ~unchgd | [11] ~unchgd |
[0x000C] - FORM FEED (FF) | [12] ~unchgd | [12] ~unchgd | [12] ~unchgd |
[0x000D] - CARRIAGE RETURN (CR) | [13] ~unchgd | [13] ~unchgd | [13] ~unchgd |
[0x0085] - NEXT LINE (NEL) | [133] ~unchgd | [133] ~unchgd | [133] ~unchgd |
[0x008B] - PARTIAL LINE FORWARD | [139] ~unchgd | [139] ~unchgd | [139] ~unchgd |
[0x008D] - REVERSE LINE FEED | [141] ~unchgd | [141] ~unchgd | [141] ~unchgd |
[0x2028] - LINE SEPARATOR | [8232] ~unchgd | [8232] ~unchgd | [8232] ~unchgd |
[0x2029] - PARAGRAPH SEPARATOR | [8233] ~unchgd | [8233] ~unchgd | [8233] ~unchgd |
[0x005C] - \ | \ ~unchgd | \ ~unchgd | \ ~unchgd |
[0x0027] - ' | ' | ' | ' |
[0x0022] - " | " | " | " |
[0x003C] - < | < | < | < |
[0x003E] - > | > | > | > |
[0x003A] - : | : ~unchgd | : ~unchgd | : ~unchgd |
[0x003B] - ; | ; ~unchgd | ; ~unchgd | ; ~unchgd |
[0x0026] - & | & | & | & |
[0x002F] - / | / ~unchgd | / ~unchgd | / ~unchgd |
[0x003D] - = | = ~unchgd | = ~unchgd | = ~unchgd |
[0x0028] - ( | ( ~unchgd | ( ~unchgd | ( ~unchgd |
[0x0029] - ) | ) ~unchgd | ) ~unchgd | ) ~unchgd |
[0x005B] - [ | [ ~unchgd | [ ~unchgd | [ ~unchgd |
[0x007B] - { | { ~unchgd | { ~unchgd | { ~unchgd |
[0x007D] - } | } ~unchgd | } ~unchgd | } ~unchgd |
[0x0023] - # | # ~unchgd | # ~unchgd | # ~unchgd |
[0x0060] - ` | ` ~unchgd | ` ~unchgd | ` ~unchgd |
[0x0024] - $ | $ ~unchgd | $ ~unchgd | $ ~unchgd |
Value | htmlEscape | htmlEscapeDecimal | htmlEscapeHex |
---|---|---|---|
[0x000A] - LINE FEED (LF) | [10] ~unchgd | [10] ~unchgd | [10] ~unchgd |
[0x000B] - LINE TABULATION | [11] ~unchgd | [11] ~unchgd | [11] ~unchgd |
[0x000C] - FORM FEED (FF) | [12] ~unchgd | [12] ~unchgd | [12] ~unchgd |
[0x000D] - CARRIAGE RETURN (CR) | [13] ~unchgd | [13] ~unchgd | [13] ~unchgd |
[0x0085] - NEXT LINE (NEL) | [133] ~unchgd | [133] ~unchgd | [133] ~unchgd |
[0x008B] - PARTIAL LINE FORWARD | [139] ~unchgd | [139] ~unchgd | [139] ~unchgd |
[0x008D] - REVERSE LINE FEED | [141] ~unchgd | [141] ~unchgd | [141] ~unchgd |
[0x2028] - LINE SEPARATOR | [8232] ~unchgd | [8232] ~unchgd | [8232] ~unchgd |
[0x2029] - PARAGRAPH SEPARATOR | [8233] ~unchgd | [8233] ~unchgd | [8233] ~unchgd |
[0x005C] - \ | \ ~unchgd | \ ~unchgd | \ ~unchgd |
[0x0027] - ' | ' | ' | ' |
[0x0022] - " | " | " | " |
[0x003C] - < | < | < | < |
[0x003E] - > | > | > | > |
[0x003A] - : | : ~unchgd | : ~unchgd | : ~unchgd |
[0x003B] - ; | ; ~unchgd | ; ~unchgd | ; ~unchgd |
[0x0026] - & | & | & | & |
[0x002F] - / | / ~unchgd | / ~unchgd | / ~unchgd |
[0x003D] - = | = ~unchgd | = ~unchgd | = ~unchgd |
[0x0028] - ( | ( ~unchgd | ( ~unchgd | ( ~unchgd |
[0x0029] - ) | ) ~unchgd | ) ~unchgd | ) ~unchgd |
[0x005B] - [ | [ ~unchgd | [ ~unchgd | [ ~unchgd |
[0x007B] - { | { ~unchgd | { ~unchgd | { ~unchgd |
[0x007D] - } | } ~unchgd | } ~unchgd | } ~unchgd |
[0x0023] - # | # ~unchgd | # ~unchgd | # ~unchgd |
[0x0060] - ` | ` ~unchgd | ` ~unchgd | ` ~unchgd |
[0x0024] - $ | $ ~unchgd | $ ~unchgd | $ ~unchgd |
Value | HtmlAttributeEncode | HtmlEncode | JsString | VbsString | XmlAttributeEncode |
---|---|---|---|---|---|
[0x000A] - LINE FEED (LF) | | | '\x0a' | chrw(10) | |
[0x000B] - LINE TABULATION |  |  | '\x0b' | chrw(11) |  |
[0x000C] - FORM FEED (FF) |  |  | '\x0c' | chrw(12) |  |
[0x000D] - CARRIAGE RETURN (CR) | | | '\x0d' | chrw(13) | |
[0x0085] - NEXT LINE (NEL) | … | … | '\u0085' | chrw(133) | … |
[0x008B] - PARTIAL LINE FORWARD | ‹ | ‹ | '\u008b' | chrw(139) | ‹ |
[0x008D] - REVERSE LINE FEED |  |  | '\u008d' | chrw(141) |  |
[0x2028] - LINE SEPARATOR | 
 | 
 | '\u2028' | chrw(8232) | 
 |
[0x2029] - PARAGRAPH SEPARATOR | 
 | 
 | '\u2029' | chrw(8233) | 
 |
[0x005C] - \ | \ | \ | '\x5c' | chrw(92) | \ |
[0x0027] - ' | ' | ' | '\x27' | chrw(39) | ' |
[0x0022] - " | " | " | '\x22' | chrw(34) | " |
[0x003C] - < | < | < | '\x3c' | chrw(60) | < |
[0x003E] - > | > | > | '\x3e' | chrw(62) | > |
[0x003A] - : | : | : | '\x3a' | chrw(58) | : |
[0x003B] - ; | ; | ; | '\x3b' | chrw(59) | ; |
[0x0026] - & | & | & | '\x26' | chrw(38) | & |
[0x002F] - / | / | / | '\x2f' | chrw(47) | / |
[0x003D] - = | = | = | '\x3d' | chrw(61) | = |
[0x0028] - ( | ( | ( | '\x28' | chrw(40) | ( |
[0x0029] - ) | ) | ) | '\x29' | chrw(41) | ) |
[0x005B] - [ | [ | [ | '\x5b' | chrw(91) | [ |
[0x007B] - { | { | { | '\x7b' | chrw(123) | { |
[0x007D] - } | } | } | '\x7d' | chrw(125) | } |
[0x0023] - # | # | # | '\x23' | chrw(35) | # |
[0x0060] - ` | ` | ` | '\x60' | chrw(96) | ` |
[0x0024] - $ | $ | $ | '\x24' | chrw(36) | $ |
Value | XmlEncode |
---|---|
[0x000A] - LINE FEED (LF) | |
[0x000B] - LINE TABULATION |  |
[0x000C] - FORM FEED (FF) |  |
[0x000D] - CARRIAGE RETURN (CR) | |
[0x0085] - NEXT LINE (NEL) | … |
[0x008B] - PARTIAL LINE FORWARD | ‹ |
[0x008D] - REVERSE LINE FEED |  |
[0x2028] - LINE SEPARATOR | 
 |
[0x2029] - PARAGRAPH SEPARATOR | 
 |
[0x005C] - \ | \ |
[0x0027] - ' | ' |
[0x0022] - " | " |
[0x003C] - < | < |
[0x003E] - > | > |
[0x003A] - : | : |
[0x003B] - ; | ; |
[0x0026] - & | & |
[0x002F] - / | / |
[0x003D] - = | = |
[0x0028] - ( | ( |
[0x0029] - ) | ) |
[0x005B] - [ | [ |
[0x007B] - { | { |
[0x007D] - } | } |
[0x0023] - # | # |
[0x0060] - ` | ` |
[0x0024] - $ | $ |
trimWhitespace
is not a valid cleanser because it will only remove the first and last whitespace of a string, leaving
all the whitespaces inside the string unmodified.
Value | trimAllWhitespace | trimWhitespace - Not a Cleanser |
---|---|---|
[0x000A] - LINE FEED (LF) | EMPTY | EMPTY |
[0x000B] - LINE TABULATION | EMPTY | EMPTY |
[0x000C] - FORM FEED (FF) | EMPTY | EMPTY |
[0x000D] - CARRIAGE RETURN (CR) | EMPTY | EMPTY |
[0x0085] - NEXT LINE (NEL) | [133] ~unchgd | [133] ~unchgd |
[0x008B] - PARTIAL LINE FORWARD | [139] ~unchgd | [139] ~unchgd |
[0x008D] - REVERSE LINE FEED | [141] ~unchgd | [141] ~unchgd |
[0x2028] - LINE SEPARATOR | EMPTY | EMPTY |
[0x2029] - PARAGRAPH SEPARATOR | EMPTY | EMPTY |
[0x005C] - \ | \ ~unchgd | \ ~unchgd |
[0x0027] - ' | ' ~unchgd | ' ~unchgd |
[0x0022] - " | " ~unchgd | " ~unchgd |
[0x003C] - < | < ~unchgd | < ~unchgd |
[0x003E] - > | > ~unchgd | > ~unchgd |
[0x003A] - : | : ~unchgd | : ~unchgd |
[0x003B] - ; | ; ~unchgd | ; ~unchgd |
[0x0026] - & | & ~unchgd | & ~unchgd |
[0x002F] - / | / ~unchgd | / ~unchgd |
[0x003D] - = | = ~unchgd | = ~unchgd |
[0x0028] - ( | ( ~unchgd | ( ~unchgd |
[0x0029] - ) | ) ~unchgd | ) ~unchgd |
[0x005B] - [ | [ ~unchgd | [ ~unchgd |
[0x007B] - { | { ~unchgd | { ~unchgd |
[0x007D] - } | } ~unchgd | } ~unchgd |
[0x0023] - # | # ~unchgd | # ~unchgd |
[0x0060] - ` | ` ~unchgd | ` ~unchgd |
[0x0024] - $ | $ ~unchgd | $ ~unchgd |
Value | encode |
---|---|
[0x000A] - LINE FEED (LF) | [10] ~unchgd |
[0x000B] - LINE TABULATION | [11] ~unchgd |
[0x000C] - FORM FEED (FF) | Exception encoding...The char '0xc' after '' is not a valid XML character. |
[0x000D] - CARRIAGE RETURN (CR) | [13] ~unchgd |
[0x0085] - NEXT LINE (NEL) | [133] ~unchgd |
[0x008B] - PARTIAL LINE FORWARD | [139] ~unchgd |
[0x008D] - REVERSE LINE FEED | [141] ~unchgd |
[0x2028] - LINE SEPARATOR | [8232] ~unchgd |
[0x2029] - PARAGRAPH SEPARATOR | [8233] ~unchgd |
[0x005C] - \ | \ ~unchgd |
[0x0027] - ' | ' ~unchgd |
[0x0022] - " | " |
[0x003C] - < | < |
[0x003E] - > | > |
[0x003A] - : | : ~unchgd |
[0x003B] - ; | ; ~unchgd |
[0x0026] - & | & |
[0x002F] - / | / ~unchgd |
[0x003D] - = | = ~unchgd |
[0x0028] - ( | ( ~unchgd |
[0x0029] - ) | ) ~unchgd |
[0x005B] - [ | [ ~unchgd |
[0x007B] - { | { ~unchgd |
[0x007D] - } | } ~unchgd |
[0x0023] - # | # ~unchgd |
[0x0060] - ` | ` ~unchgd |
[0x0024] - $ | $ ~unchgd |
Value | encodeForBase64 | encodeForCSS | encodeForHTML | encodeForHTMLAttribute | encodeForJavaScript |
---|---|---|---|---|---|
[0x000A] - LINE FEED (LF) | Cg== | \a[32] | 
 | 
 | \x0A |
[0x000B] - LINE TABULATION | Cw== | \b[32] | � | � | \x0B |
[0x000C] - FORM FEED (FF) | DA== | \c[32] | � | � | \x0C |
[0x000D] - CARRIAGE RETURN (CR) | DQ== | \d[32] | 
 | 
 | \x0D |
[0x0085] - NEXT LINE (NEL) | hQ== | \85[32] | � | � | \x85 |
[0x008B] - PARTIAL LINE FORWARD | iw== | \8b[32] | � | � | \x8B |
[0x008D] - REVERSE LINE FEED | jQ== | \8d[32] | � | � | \x8D |
[0x2028] - LINE SEPARATOR | KA== | \2028[32] | 
 | 
 | \u2028 |
[0x2029] - PARAGRAPH SEPARATOR | KQ== | \2029[32] | 
 | 
 | \u2029 |
[0x005C] - \ | XA== | \5c[32] | \ | \ | \x5C |
[0x0027] - ' | Jw== | \27[32] | ' | ' | \x27 |
[0x0022] - " | Ig== | \22[32] | " | " | \x22 |
[0x003C] - < | PA== | \3c[32] | < | < | \x3C |
[0x003E] - > | Pg== | \3e[32] | > | > | \x3E |
[0x003A] - : | Og== | \3a[32] | : | : | \x3A |
[0x003B] - ; | Ow== | \3b[32] | ; | ; | \x3B |
[0x0026] - & | Jg== | \26[32] | & | & | \x26 |
[0x002F] - / | Lw== | \2f[32] | / | / | \x2F |
[0x003D] - = | PQ== | \3d[32] | = | = | \x3D |
[0x0028] - ( | KA== | \28[32] | ( | ( | \x28 |
[0x0029] - ) | KQ== | \29[32] | ) | ) | \x29 |
[0x005B] - [ | Ww== | \5b[32] | [ | [ | \x5B |
[0x007B] - { | ew== | \7b[32] | { | { | \x7B |
[0x007D] - } | fQ== | \7d[32] | } | } | \x7D |
[0x0023] - # | Iw== | # ~unchgd | # | # | \x23 |
[0x0060] - ` | YA== | \60[32] | ` | ` | \x60 |
[0x0024] - $ | JA== | \24[32] | $ | $ | \x24 |
Value | encodeForURL | encodeForXML | encodeForXMLAttribute | replaceLinearWhiteSpace | stripControls |
---|---|---|---|---|---|
[0x000A] - LINE FEED (LF) | %0A | 
 | 
 | [32] | [32] |
[0x000B] - LINE TABULATION | %0B |  |  | [32] | [32] |
[0x000C] - FORM FEED (FF) | %0C |  |  | [32] | [32] |
[0x000D] - CARRIAGE RETURN (CR) | %0D | 
 | 
 | [32] | [32] |
[0x0085] - NEXT LINE (NEL) | %C2%85 | … | … | [133] ~unchgd | [32] |
[0x008B] - PARTIAL LINE FORWARD | %C2%8B | ‹ | ‹ | [139] ~unchgd | [32] |
[0x008D] - REVERSE LINE FEED | %C2%8D |  |  | [141] ~unchgd | [32] |
[0x2028] - LINE SEPARATOR | %E2%80%A8 | 
 | 
 | [8232] ~unchgd | [32] |
[0x2029] - PARAGRAPH SEPARATOR | %E2%80%A9 | 
 | 
 | [8233] ~unchgd | [32] |
[0x005C] - \ | %5C | \ | \ | \ ~unchgd | \ ~unchgd |
[0x0027] - ' | %27 | ' | ' | ' ~unchgd | ' ~unchgd |
[0x0022] - " | %22 | " | " | " ~unchgd | " ~unchgd |
[0x003C] - < | %3C | < | < | < ~unchgd | < ~unchgd |
[0x003E] - > | %3E | > | > | > ~unchgd | > ~unchgd |
[0x003A] - : | %3A | : | : | : ~unchgd | : ~unchgd |
[0x003B] - ; | %3B | ; | ; | ; ~unchgd | ; ~unchgd |
[0x0026] - & | %26 | & | & | & ~unchgd | & ~unchgd |
[0x002F] - / | %2F | / | / | / ~unchgd | / ~unchgd |
[0x003D] - = | %3D | = | = | = ~unchgd | = ~unchgd |
[0x0028] - ( | %28 | ( | ( | ( ~unchgd | ( ~unchgd |
[0x0029] - ) | %29 | ) | ) | ) ~unchgd | ) ~unchgd |
[0x005B] - [ | %5B | [ | [ | [ ~unchgd | [ ~unchgd |
[0x007B] - { | %7B | { | { | { ~unchgd | { ~unchgd |
[0x007D] - } | %7D | } | } | } ~unchgd | } ~unchgd |
[0x0023] - # | %23 | # | # | # ~unchgd | # ~unchgd |
[0x0060] - ` | %60 | ` | ` | ` ~unchgd | ` ~unchgd |
[0x0024] - $ | %24 | $ | $ | $ ~unchgd | $ ~unchgd |
Value | forCDATA | forCssString | forCssUrl | forHtml | forHtmlAttribute |
---|---|---|---|---|---|
[0x000A] - LINE FEED (LF) | [10] ~unchgd | \a | \a | [10] ~unchgd | [10] ~unchgd |
[0x000B] - LINE TABULATION | [32] | \b | \b | [32] | [32] |
[0x000C] - FORM FEED (FF) | [32] | \c | \c | [32] | [32] |
[0x000D] - CARRIAGE RETURN (CR) | [13] ~unchgd | \d | \d | [13] ~unchgd | [13] ~unchgd |
[0x0085] - NEXT LINE (NEL) | [133] ~unchgd | \85 | \85 | [133] ~unchgd | [133] ~unchgd |
[0x008B] - PARTIAL LINE FORWARD | [32] | \8b | \8b | [32] | [32] |
[0x008D] - REVERSE LINE FEED | [32] | \8d | \8d | [32] | [32] |
[0x2028] - LINE SEPARATOR | [8232] ~unchgd | \2028 | \2028 | [8232] ~unchgd | [8232] ~unchgd |
[0x2029] - PARAGRAPH SEPARATOR | [8233] ~unchgd | \2029 | \2029 | [8233] ~unchgd | [8233] ~unchgd |
[0x005C] - \ | \ ~unchgd | \5c | \5c | \ ~unchgd | \ ~unchgd |
[0x0027] - ' | ' ~unchgd | \27 | \27 | ' | ' |
[0x0022] - " | " ~unchgd | \22 | \22 | " | " |
[0x003C] - < | < ~unchgd | \3c | \3c | < | < |
[0x003E] - > | > ~unchgd | \3e | \3e | > | > ~unchgd |
[0x003A] - : | : ~unchgd | : ~unchgd | : ~unchgd | : ~unchgd | : ~unchgd |
[0x003B] - ; | ; ~unchgd | ; ~unchgd | ; ~unchgd | ; ~unchgd | ; ~unchgd |
[0x0026] - & | & ~unchgd | \26 | \26 | & | & |
[0x002F] - / | / ~unchgd | \2f | \2f | / ~unchgd | / ~unchgd |
[0x003D] - = | = ~unchgd | = ~unchgd | = ~unchgd | = ~unchgd | = ~unchgd |
[0x0028] - ( | ( ~unchgd | ( ~unchgd | \28 | ( ~unchgd | ( ~unchgd |
[0x0029] - ) | ) ~unchgd | ) ~unchgd | \29 | ) ~unchgd | ) ~unchgd |
[0x005B] - [ | [ ~unchgd | [ ~unchgd | [ ~unchgd | [ ~unchgd | [ ~unchgd |
[0x007B] - { | { ~unchgd | { ~unchgd | { ~unchgd | { ~unchgd | { ~unchgd |
[0x007D] - } | } ~unchgd | } ~unchgd | } ~unchgd | } ~unchgd | } ~unchgd |
[0x0023] - # | # ~unchgd | # ~unchgd | # ~unchgd | # ~unchgd | # ~unchgd |
[0x0060] - ` | ` ~unchgd | ` ~unchgd | ` ~unchgd | ` ~unchgd | ` ~unchgd |
[0x0024] - $ | $ ~unchgd | $ ~unchgd | $ ~unchgd | $ ~unchgd | $ ~unchgd |
Value | forHtmlContent | forHtmlUnquotedAttribute | forJava | forJavaScript | forJavaScriptAttribute |
---|---|---|---|---|---|
[0x000A] - LINE FEED (LF) | [10] ~unchgd | | \n | \n | \n |
[0x000B] - LINE TABULATION | [32] | - | \13 | \x0b | \x0b |
[0x000C] - FORM FEED (FF) | [32] |  | \f | \f | \f |
[0x000D] - CARRIAGE RETURN (CR) | [13] ~unchgd | | \r | \r | \r |
[0x0085] - NEXT LINE (NEL) | [133] ~unchgd | … | \205 | [133] ~unchgd | [133] ~unchgd |
[0x008B] - PARTIAL LINE FORWARD | [32] | - | \213 | [139] ~unchgd | [139] ~unchgd |
[0x008D] - REVERSE LINE FEED | [32] | - | \215 | [141] ~unchgd | [141] ~unchgd |
[0x2028] - LINE SEPARATOR | [8232] ~unchgd | 
 | \u2028 | \u2028 | \u2028 |
[0x2029] - PARAGRAPH SEPARATOR | [8233] ~unchgd | 
 | \u2029 | \u2029 | \u2029 |
[0x005C] - \ | \ ~unchgd | \ ~unchgd | \\ | \\ | \\ |
[0x0027] - ' | ' ~unchgd | ' | ' | \x27 | \x27 |
[0x0022] - " | " ~unchgd | " | " | \x22 | \x22 |
[0x003C] - < | < | < | < ~unchgd | < ~unchgd | < ~unchgd |
[0x003E] - > | > | > | > ~unchgd | > ~unchgd | > ~unchgd |
[0x003A] - : | : ~unchgd | : ~unchgd | : ~unchgd | : ~unchgd | : ~unchgd |
[0x003B] - ; | ; ~unchgd | ; ~unchgd | ; ~unchgd | ; ~unchgd | ; ~unchgd |
[0x0026] - & | & | & | & ~unchgd | \x26 | \x26 |
[0x002F] - / | / ~unchgd | / | / ~unchgd | / | / ~unchgd |
[0x003D] - = | = ~unchgd | = | = ~unchgd | = ~unchgd | = ~unchgd |
[0x0028] - ( | ( ~unchgd | ( ~unchgd | ( ~unchgd | ( ~unchgd | ( ~unchgd |
[0x0029] - ) | ) ~unchgd | ) ~unchgd | ) ~unchgd | ) ~unchgd | ) ~unchgd |
[0x005B] - [ | [ ~unchgd | [ ~unchgd | [ ~unchgd | [ ~unchgd | [ ~unchgd |
[0x007B] - { | { ~unchgd | { ~unchgd | { ~unchgd | { ~unchgd | { ~unchgd |
[0x007D] - } | } ~unchgd | } ~unchgd | } ~unchgd | } ~unchgd | } ~unchgd |
[0x0023] - # | # ~unchgd | # ~unchgd | # ~unchgd | # ~unchgd | # ~unchgd |
[0x0060] - ` | ` ~unchgd | ` | ` ~unchgd | ` ~unchgd | ` ~unchgd |
[0x0024] - $ | $ ~unchgd | $ ~unchgd | $ ~unchgd | $ ~unchgd | $ ~unchgd |
Value | forJavaScriptBlock | forJavaScriptSource | forUri | forUriComponent | forXml |
---|---|---|---|---|---|
[0x000A] - LINE FEED (LF) | \n | \n | %0A | %0A | [10] ~unchgd |
[0x000B] - LINE TABULATION | \x0b | \x0b | %0B | %0B | [32] |
[0x000C] - FORM FEED (FF) | \f | \f | %0C | %0C | [32] |
[0x000D] - CARRIAGE RETURN (CR) | \r | \r | %0D | %0D | [13] ~unchgd |
[0x0085] - NEXT LINE (NEL) | [133] ~unchgd | [133] ~unchgd | %C2%85 | %C2%85 | [133] ~unchgd |
[0x008B] - PARTIAL LINE FORWARD | [139] ~unchgd | [139] ~unchgd | %C2%8B | %C2%8B | [32] |
[0x008D] - REVERSE LINE FEED | [141] ~unchgd | [141] ~unchgd | %C2%8D | %C2%8D | [32] |
[0x2028] - LINE SEPARATOR | \u2028 | \u2028 | %E2%80%A8 | %E2%80%A8 | [8232] ~unchgd |
[0x2029] - PARAGRAPH SEPARATOR | \u2029 | \u2029 | %E2%80%A9 | %E2%80%A9 | [8233] ~unchgd |
[0x005C] - \ | \\ | \\ | %5C | %5C | \ ~unchgd |
[0x0027] - ' | ' | ' | ' ~unchgd | %27 | ' |
[0x0022] - " | " | " | %22 | %22 | " |
[0x003C] - < | < ~unchgd | < ~unchgd | %3C | %3C | < |
[0x003E] - > | > ~unchgd | > ~unchgd | %3E | %3E | > |
[0x003A] - : | : ~unchgd | : ~unchgd | : ~unchgd | %3A | : ~unchgd |
[0x003B] - ; | ; ~unchgd | ; ~unchgd | ; ~unchgd | %3B | ; ~unchgd |
[0x0026] - & | \x26 | & ~unchgd | & ~unchgd | %26 | & |
[0x002F] - / | / | / ~unchgd | / ~unchgd | %2F | / ~unchgd |
[0x003D] - = | = ~unchgd | = ~unchgd | = ~unchgd | %3D | = ~unchgd |
[0x0028] - ( | ( ~unchgd | ( ~unchgd | ( ~unchgd | %28 | ( ~unchgd |
[0x0029] - ) | ) ~unchgd | ) ~unchgd | ) ~unchgd | %29 | ) ~unchgd |
[0x005B] - [ | [ ~unchgd | [ ~unchgd | [ ~unchgd | %5B | [ ~unchgd |
[0x007B] - { | { ~unchgd | { ~unchgd | %7B | %7B | { ~unchgd |
[0x007D] - } | } ~unchgd | } ~unchgd | %7D | %7D | } ~unchgd |
[0x0023] - # | # ~unchgd | # ~unchgd | # ~unchgd | %23 | # ~unchgd |
[0x0060] - ` | ` ~unchgd | ` ~unchgd | %60 | %60 | ` ~unchgd |
[0x0024] - $ | $ ~unchgd | $ ~unchgd | $ ~unchgd | %24 | $ ~unchgd |
Value | forXmlComment | forXmlContent |
---|---|---|
[0x000A] - LINE FEED (LF) | [10] ~unchgd | [10] ~unchgd |
[0x000B] - LINE TABULATION | [32] | [32] |
[0x000C] - FORM FEED (FF) | [32] | [32] |
[0x000D] - CARRIAGE RETURN (CR) | [13] ~unchgd | [13] ~unchgd |
[0x0085] - NEXT LINE (NEL) | [133] ~unchgd | [133] ~unchgd |
[0x008B] - PARTIAL LINE FORWARD | [32] | [32] |
[0x008D] - REVERSE LINE FEED | [32] | [32] |
[0x2028] - LINE SEPARATOR | [8232] ~unchgd | [8232] ~unchgd |
[0x2029] - PARAGRAPH SEPARATOR | [8233] ~unchgd | [8233] ~unchgd |
[0x005C] - \ | \ ~unchgd | \ ~unchgd |
[0x0027] - ' | ' ~unchgd | ' ~unchgd |
[0x0022] - " | " ~unchgd | " ~unchgd |
[0x003C] - < | < ~unchgd | < |
[0x003E] - > | > ~unchgd | > |
[0x003A] - : | : ~unchgd | : ~unchgd |
[0x003B] - ; | ; ~unchgd | ; ~unchgd |
[0x0026] - & | & ~unchgd | & |
[0x002F] - / | / ~unchgd | / ~unchgd |
[0x003D] - = | = ~unchgd | = ~unchgd |
[0x0028] - ( | ( ~unchgd | ( ~unchgd |
[0x0029] - ) | ) ~unchgd | ) ~unchgd |
[0x005B] - [ | [ ~unchgd | [ ~unchgd |
[0x007B] - { | { ~unchgd | { ~unchgd |
[0x007D] - } | } ~unchgd | } ~unchgd |
[0x0023] - # | # ~unchgd | # ~unchgd |
[0x0060] - ` | ` ~unchgd | ` ~unchgd |
[0x0024] - $ | $ ~unchgd | $ ~unchgd |
Value | escapeAttribute | escape | escapeCSS | escapeHREF | escapeJS |
---|---|---|---|---|---|
[0x000A] - LINE FEED (LF) | [10] ~unchgd | [10] ~unchgd | \0a | [10] ~unchgd | \x0a |
[0x000B] - LINE TABULATION | [32] | [32] | \0b | [32] | \x0b |
[0x000C] - FORM FEED (FF) | [32] | [32] | \0c | [32] | \x0c |
[0x000D] - CARRIAGE RETURN (CR) | [13] ~unchgd | [13] ~unchgd | \0d | [13] ~unchgd | \x0d |
[0x0085] - NEXT LINE (NEL) | [133] ~unchgd | [133] ~unchgd | \85 | [133] ~unchgd | \x85 |
[0x008B] - PARTIAL LINE FORWARD | [139] ~unchgd | [139] ~unchgd | \8b | [139] ~unchgd | \x8b |
[0x008D] - REVERSE LINE FEED | [141] ~unchgd | [141] ~unchgd | \8d | [141] ~unchgd | \x8d |
[0x2028] - LINE SEPARATOR | [8232] ~unchgd | 
 | [8232] ~unchgd | [8232] ~unchgd | \u2028 |
[0x2029] - PARAGRAPH SEPARATOR | [8233] ~unchgd | [8233] ~unchgd | [8233] ~unchgd | [8233] ~unchgd | \u2029 |
[0x005C] - \ | \ ~unchgd | \ ~unchgd | \5c | \ ~unchgd | \x5c |
[0x0027] - ' | ' | ' | \27 | ' | \x27 |
[0x0022] - " | " | " | \22 | " | \x22 |
[0x003C] - < | < | < | \3c | < | \x3c |
[0x003E] - > | > | > | \3e | > | \x3e |
[0x003A] - : | : ~unchgd | : ~unchgd | \3a | %3a | \x3a |
[0x003B] - ; | ; ~unchgd | ; ~unchgd | \3b | ; ~unchgd | \x3b |
[0x0026] - & | & | & | \26 | & | \x26 |
[0x002F] - / | / ~unchgd | / ~unchgd | \2f | / ~unchgd | \x2f |
[0x003D] - = | = ~unchgd | = ~unchgd | \3d | = ~unchgd | \x3d |
[0x0028] - ( | ( ~unchgd | ( ~unchgd | \28 | ( ~unchgd | \x28 |
[0x0029] - ) | ) ~unchgd | ) ~unchgd | \29 | ) ~unchgd | \x29 |
[0x005B] - [ | [ ~unchgd | [ ~unchgd | \5b | [ ~unchgd | \x5b |
[0x007B] - { | { ~unchgd | { ~unchgd | \7b | { ~unchgd | \x7b |
[0x007D] - } | } ~unchgd | } ~unchgd | \7d | } ~unchgd | \x7d |
[0x0023] - # | # ~unchgd | # ~unchgd | \23 | # ~unchgd | \x23 |
[0x0060] - ` | ` ~unchgd | ` ~unchgd | \60 | ` ~unchgd | \x60 |
[0x0024] - $ | $ ~unchgd | $ ~unchgd | \24 | $ ~unchgd | \x24 |
Value | escapeURL | escapeXPath | escapeXPathAttribute |
---|---|---|---|
[0x000A] - LINE FEED (LF) | %0A | _ | "[10]" |
[0x000B] - LINE TABULATION | %0B | [11] ~unchgd | "[11]" |
[0x000C] - FORM FEED (FF) | %0C | [12] ~unchgd | "[12]" |
[0x000D] - CARRIAGE RETURN (CR) | %0D | _ | "[13]" |
[0x0085] - NEXT LINE (NEL) | %C2%85 | _ | "[133]" |
[0x008B] - PARTIAL LINE FORWARD | %C2%8B | [139] ~unchgd | "[139]" |
[0x008D] - REVERSE LINE FEED | %C2%8D | [141] ~unchgd | "[141]" |
[0x2028] - LINE SEPARATOR | %E2%80%A8 | _ | "[8232]" |
[0x2029] - PARAGRAPH SEPARATOR | %E2%80%A9 | [8233] ~unchgd | "[8233]" |
[0x005C] - \ | %5C | \ ~unchgd | "" |
[0x0027] - ' | %27 | ' ~unchgd | "'" |
[0x0022] - " | %22 | _ | '"' |
[0x003C] - < | %3C | _ | "<" |
[0x003E] - > | %3E | _ | ">" |
[0x003A] - : | %3A | _ | ":" |
[0x003B] - ; | %3B | ; ~unchgd | ";" |
[0x0026] - & | %26 | & ~unchgd | "&" |
[0x002F] - / | %2F | _ | "/" |
[0x003D] - = | %3D | _ | "=" |
[0x0028] - ( | %28 | _ | "(" |
[0x0029] - ) | %29 | _ | ")" |
[0x005B] - [ | %5B | _ | "[" |
[0x007B] - { | %7B | { ~unchgd | "{" |
[0x007D] - } | %7D | } ~unchgd | "}" |
[0x0023] - # | %23 | # ~unchgd | "#" |
[0x0060] - ` | %60 | ` ~unchgd | "`" |
[0x0024] - $ | %24 | _ | "$" |
Value | escapeCsv | escapeEcmaScript | escapeHtml3 | escapeHtml4 | escapeJava |
---|---|---|---|---|---|
[0x000A] - LINE FEED (LF) | "[10]" | \n | [10] ~unchgd | [10] ~unchgd | \n |
[0x000B] - LINE TABULATION | [11] ~unchgd | \u000B | [11] ~unchgd | [11] ~unchgd | \u000B |
[0x000C] - FORM FEED (FF) | [12] ~unchgd | \f | [12] ~unchgd | [12] ~unchgd | \f |
[0x000D] - CARRIAGE RETURN (CR) | "[13]" | \r | [13] ~unchgd | [13] ~unchgd | \r |
[0x0085] - NEXT LINE (NEL) | [133] ~unchgd | \u0085 | [133] ~unchgd | [133] ~unchgd | \u0085 |
[0x008B] - PARTIAL LINE FORWARD | [139] ~unchgd | \u008B | [139] ~unchgd | [139] ~unchgd | \u008B |
[0x008D] - REVERSE LINE FEED | [141] ~unchgd | \u008D | [141] ~unchgd | [141] ~unchgd | \u008D |
[0x2028] - LINE SEPARATOR | [8232] ~unchgd | \u2028 | [8232] ~unchgd | [8232] ~unchgd | \u2028 |
[0x2029] - PARAGRAPH SEPARATOR | [8233] ~unchgd | \u2029 | [8233] ~unchgd | [8233] ~unchgd | \u2029 |
[0x005C] - \ | \ ~unchgd | \\ | \ ~unchgd | \ ~unchgd | \\ |
[0x0027] - ' | ' ~unchgd | ' | ' ~unchgd | ' ~unchgd | ' ~unchgd |
[0x0022] - " | """" | " | " | " | " |
[0x003C] - < | < ~unchgd | < ~unchgd | < | < | < ~unchgd |
[0x003E] - > | > ~unchgd | > ~unchgd | > | > | > ~unchgd |
[0x003A] - : | : ~unchgd | : ~unchgd | : ~unchgd | : ~unchgd | : ~unchgd |
[0x003B] - ; | ; ~unchgd | ; ~unchgd | ; ~unchgd | ; ~unchgd | ; ~unchgd |
[0x0026] - & | & ~unchgd | & ~unchgd | & | & | & ~unchgd |
[0x002F] - / | / ~unchgd | / | / ~unchgd | / ~unchgd | / ~unchgd |
[0x003D] - = | = ~unchgd | = ~unchgd | = ~unchgd | = ~unchgd | = ~unchgd |
[0x0028] - ( | ( ~unchgd | ( ~unchgd | ( ~unchgd | ( ~unchgd | ( ~unchgd |
[0x0029] - ) | ) ~unchgd | ) ~unchgd | ) ~unchgd | ) ~unchgd | ) ~unchgd |
[0x005B] - [ | [ ~unchgd | [ ~unchgd | [ ~unchgd | [ ~unchgd | [ ~unchgd |
[0x007B] - { | { ~unchgd | { ~unchgd | { ~unchgd | { ~unchgd | { ~unchgd |
[0x007D] - } | } ~unchgd | } ~unchgd | } ~unchgd | } ~unchgd | } ~unchgd |
[0x0023] - # | # ~unchgd | # ~unchgd | # ~unchgd | # ~unchgd | # ~unchgd |
[0x0060] - ` | ` ~unchgd | ` ~unchgd | ` ~unchgd | ` ~unchgd | ` ~unchgd |
[0x0024] - $ | $ ~unchgd | $ ~unchgd | $ ~unchgd | $ ~unchgd | $ ~unchgd |
Value | escapeJson | escapeXml10 | escapeXml11 | escapeXSI |
---|---|---|---|---|
[0x000A] - LINE FEED (LF) | \n | [10] ~unchgd | [10] ~unchgd | EMPTY |
[0x000B] - LINE TABULATION | \u000B | EMPTY |  | [11] ~unchgd |
[0x000C] - FORM FEED (FF) | \f | EMPTY |  | [12] ~unchgd |
[0x000D] - CARRIAGE RETURN (CR) | \r | [13] ~unchgd | [13] ~unchgd | [13] ~unchgd |
[0x0085] - NEXT LINE (NEL) | \u0085 | [133] ~unchgd | [133] ~unchgd | [133] ~unchgd |
[0x008B] - PARTIAL LINE FORWARD | \u008B | ‹ | ‹ | [139] ~unchgd |
[0x008D] - REVERSE LINE FEED | \u008D |  |  | [141] ~unchgd |
[0x2028] - LINE SEPARATOR | \u2028 | [8232] ~unchgd | [8232] ~unchgd | [8232] ~unchgd |
[0x2029] - PARAGRAPH SEPARATOR | \u2029 | [8233] ~unchgd | [8233] ~unchgd | [8233] ~unchgd |
[0x005C] - \ | \\ | \ ~unchgd | \ ~unchgd | \\ |
[0x0027] - ' | ' ~unchgd | ' | ' | ' |
[0x0022] - " | " | " | " | " |
[0x003C] - < | < ~unchgd | < | < | < |
[0x003E] - > | > ~unchgd | > | > | > |
[0x003A] - : | : ~unchgd | : ~unchgd | : ~unchgd | : ~unchgd |
[0x003B] - ; | ; ~unchgd | ; ~unchgd | ; ~unchgd | ; |
[0x0026] - & | & ~unchgd | & | & | & |
[0x002F] - / | / | / ~unchgd | / ~unchgd | / ~unchgd |
[0x003D] - = | = ~unchgd | = ~unchgd | = ~unchgd | = |
[0x0028] - ( | ( ~unchgd | ( ~unchgd | ( ~unchgd | ( |
[0x0029] - ) | ) ~unchgd | ) ~unchgd | ) ~unchgd | ) |
[0x005B] - [ | [ ~unchgd | [ ~unchgd | [ ~unchgd | [ |
[0x007B] - { | { ~unchgd | { ~unchgd | { ~unchgd | { ~unchgd |
[0x007D] - } | } ~unchgd | } ~unchgd | } ~unchgd | } ~unchgd |
[0x0023] - # | # ~unchgd | # ~unchgd | # ~unchgd | # |
[0x0060] - ` | ` ~unchgd | ` ~unchgd | ` ~unchgd | ` |
[0x0024] - $ | $ ~unchgd | $ ~unchgd | $ ~unchgd | $ |