12 lines
319 B
Text
12 lines
319 B
Text
val finish = fn s:b2s(map(
|
|
less(split(s, delim="%"), of=1),
|
|
by=fn x:number(x, fmt=16),
|
|
))
|
|
val decode = fn s:replace(
|
|
s,
|
|
by=re/(%[0-9A-Fa-f]{2})+/,
|
|
with=finish,
|
|
)
|
|
|
|
writeln decode("http%3A%2F%2Fno%20more%20foo%20bars%20please%2F")
|
|
writeln decode("google.com/search?q=%22unbroken%20string%22")
|