------------------------------------------------------------------------
URL encoding
------------------------------------------------------------------------

REF:
https://www.w3schools.com/tags/ref_urlencode.asp

Valid URL format means that the URL contains only what is termed "alpha | digit | safe | extra | escape" characters.

SAFE:
A-Z a-z 0-9 "-" "." "_" "~" (hyphen,period,underscore,tilde)
Note, howe "~" could potentially be meaningful to the OS (Unix).
Note the abence of " " (space), "+" and "," from this list.
The " " character is eiher %20 or "+"

To double-check go to: https://devpal.co/url-encode/


RESERVED CHARACTERS:
!	%21
#	%23 
$	%24 
%       %25
&	%26 
'	%27 
(	%28 
)	%29 
*	%2A 
+	%2B 
,	%2C 
/	%2F 
:	%3A 
;	%3B 
=	%3D 
?	%3F 
@	%40 
[	%5B 
]	%5D

UNSAFE CHARACTERS: 
    space (" ")
    less than and greater than ("<>")
    open and close braces ("{}")
    pipe ("|")
    backslash ("\")
    caret ("^")
    percent ("%")
--------------------
        URL Encoded
--------------------
\nl     %0A or %0D
?       %3F
\       %5C
#       %23
&       %26
=       %3D
+       %2B
$       %24
,       %2C
<space> %20 or +
%       %25
<       %3C
>       %3E
%       %25

ARCANA: In principle the ordinary set [a-zA-Z0-9] and "_.-~" can
also be encoded by percentage coding but it is not advisable to do
so.

-  %2D
.  %2E
~  %7E
_  %5F


========================================================================
Decimal	Character		URL Encoding (UTF-8)
0	NUL(null character)		%00
1	SOH(start of header)		%01
2	STX(start of text)		%02
3	ETX(end of text)		%03
4	EOT(end of transmission)	%04
5	ENQ(enquiry)			%05
6	ACK(acknowledge)		%06
7	BEL(bell (ring))		%07
8	BS(backspace)			%08
9	HT(horizontal tab)		%09
10	LF(line feed)			%0A
11	VT(vertical tab)		%0B
12	FF(form feed)			%0C
13	CR(carriage return)		%0D
14	SO(shift out)			%0E
15	SI(shift in)			%0F
16	DLE(data link escape)		%10
17	DC1(device control 1)		%11
18	DC2(device control 2)		%12
19	DC3(device control 3)		%13
20	DC4(device control 4)		%14
21	NAK(negative acknowledge)	%15
22	SYN(synchronize)		%16
23	ETB(end transmission block)	%17
24	CAN(cancel)			%18
25	EM(end of medium)		%19
26	SUB(substitute)			%1A
27	ESC(escape)			%1B
28	FS(file separator)		%1C
29	GS(group separator)		%1D
30	RS(record separator)		%1E
31	US(unit separator)		%1F
32	space				%20
33	!				%21
34	"				%22
35	#				%23
36	$				%24
37	%				%25
38	&				%26
39	'				%27
40	(				%28
41	)				%29
42	*				%2A
43	+				%2B
44	,				%2C
45	-				%2D
46	.				%2E
47	/				%2F
48	0				%30
49	1				%31
50	2				%32
51	3				%33
52	4				%34
53	5				%35
54	6				%36
55	7				%37
56	8				%38
57	9				%39
58	:				%3A
59	;				%3B
60	<				%3C
61	=				%3D
62	>				%3E
63	?				%3F
64	@				%40
65	A				%41
66	B				%42
67	C				%43
68	D				%44
69	E				%45
70	F				%46
71	G				%47
72	H				%48
73	I				%49
74	J				%4A
75	K				%4B
76	L				%4C
77	M				%4D
78	N				%4E
79	O				%4F
80	P				%50
81	Q				%51
82	R				%52
83	S				%53
84	T				%54
85	U				%55
86	V				%56
87	W				%57
88	X				%58
89	Y				%59
90	Z				%5A
91	[				%5B
92	\				%5C
93	]				%5D
94	^				%5E
95	_				%5F
96	`				%60
97	a				%61
98	b				%62
99	c				%63
100	d				%64
101	e				%65
102	f				%66
103	g				%67
104	h				%68
105	i				%69
106	j				%6A
107	k				%6B
108	l				%6C
109	m				%6D
110	n				%6E
111	o				%6F
112	p				%70
113	q				%71
114	r				%72
115	s				%73
116	t				%74
117	u				%75
118	v				%76
119	w				%77
120	x				%78
121	y				%79
122	z				%7A
123	{				%7B
124	|				%7C
125	}				%7D
126	~				%7E
127	DEL(delete (rubout))		%7F