Kjetil Torgrim Homme wrote:
"${hex:40${hex:40}}" -> "${hex:40(_at_)}"
"${hex:40${hex:30}}" -> "${hex:400}"
would demonstrate that only one pass is done, too.
I've dropped one 0 (i.e. "${hex:4${hex:30}}"), as 400 is invalid hex anyway.
"${unicode:40}" -> "@"
"${ unicode:40}" -> "${ unicode:40}"
"${UNICODE:40}" -> "@"
if we include the last example, the first in this set is superfluous
IMHO. I'd like one of the examples to include backslash quoting, we
could extend that example, e.g., "\${UNICODE:40}" -> "@"
3028bis-12, section 2.4.2 says:
A quoted string starts and ends with a single double quote (the <">
character, US-ASCII 34). A backslash ("\", US-ASCII 92) inside of a
quoted string is followed by either another backslash or a double quote.
These two-character sequences represent a single backslash or double
quote within the value, respectively.
Scripts SHOULD NOT escape other characters with a backslash.
So I would rather not demonstrate something which violates the SHOULD NOT.