Replace escape sequences with characters, or vice versa

Syntax

s.escape([flags])

 

Parameters

s - str variable.

flags - one of:

0 Replace escape sequences ( '', [], [digits] ) to characters (", new line, character).
1 Replace unsafe characters ( ", new line, tab, control characters, [ , '' ) to escape sequences.
8 Urldecode.
9 Urlencode. Use for URL parameters containing spaces and other unsafe characters. It replaces all characters except 0-9, A-Z, a-z, _, - and . to escape sequences in form %xx, where xx is character code in hexadecimal format.
10 same as 8, but decode + to space.
11 same as 9, but encode space to +.
16 QM 2.3.2. Skip parts enclosed in { }, like with operator F. This flag can be used with flags 0 and 1. With flag 1, in { } replaces " with `.

 

Remarks

Replaces escape sequences with characters, or vice versa.

 

QM 2.3.0. Removed flag 2 (don't escape characters above 127). Now does not escape these characters. It is because of possible problems with UTF-8.

 

See also: str.encrypt, str.ansi

 

Examples

str s=
 line 1
 "line 2"
s.escape(1) ;;escape
out s
s.escape(0) ;;unescape
out s

str s2="one, two"
s2.escape(9) ;;urlencode
out s2
s2.escape(8) ;;urldecode
out s2