SUMMARY: MODULE | CLASS | TYPE | PROC | VAR | CONST | DETAIL: TYPE | PROC | VAR | CONST |
ADT:StringBuffer URI:CharClass
Type Summary | |
Offset = INTEGER |
Procedure Summary | |
AppendEscaped(STRING, ARRAY OF CHAR, StringBuffer) Appends the string source to dest, possibly escaping some characters on the way. | |
Unescape(STRING): STRING Replaces escaped characters with their ISO Latin-1 counterparts. |
Type Detail |
TYPE Offset = INTEGER
Procedure Detail |
PROCEDURE AppendEscaped(source: STRING; unreserved: ARRAY OF CHAR; dest: StringBuffer)
Appends the string source to dest, possibly escaping some characters on the way. All characters from CharClass.IsUnreserved and all characters in unreserved are copied as is. Any other characters are translated into a three character sequence `%HH', where `H' is a hex digit from `[0-9A-F]'. If dest cannot hold the whole result, then the result string is truncated.
PROCEDURE Unescape(x: STRING): STRING
Replaces escaped characters with their ISO Latin-1 counterparts. The escape sequence `%00' is translated to a space (ASCII code 32).
Pre-condition: The string x is well-formed. That is, every occurence of the character `%' is followed by two valid hexadecimal digits.