Rebol3 Code Examplex
URL encoding
Encode text for safe use in URLs.
Rebol [
title: "Rosetta code: URL encoding"
file: %URL_encoding.r3
url: https://rosettacode.org/wiki/URL_encoding
]
task-except: charset [#"0"-#"9" #"A"-#"Z" #"a"-#"z"]
RFC-3986: charset [#"0"-#"9" #"A"-#"Z" #"a"-#"z" "-._~"]
js-except: charset [#"0"-#"9" #"A"-#"Z" #"a"-#"z" "-._~;,/?:@&=+$!*'()#"]
foreach src [
"http://foo bar/"
"https://rosettacode.org/wiki/URL_encoding"
"https://en.wikipedia.org/wiki/Pikes Peak granite"
][
probe src
print ["enhex: " enhex src]
print ["enhex/uri: " enhex/uri src]
print ["RFC-3986: " enhex/except src RFC-3986]
print ["Custom: " enhex/except src task-except]
print ["JavaScript:" enhex/except src js-except]
print ""
]
Output:
"http://foo bar/"
enhex: http%3A%2F%2Ffoo%20bar%2F
enhex/uri: http%3A%2F%2Ffoo+bar%2F
RFC-3986: http%3A%2F%2Ffoo%20bar%2F
Custom: http%3A%2F%2Ffoo%20bar%2F
JavaScript: http://foo%20bar/
"https://rosettacode.org/wiki/URL_encoding"
enhex: https%3A%2F%2Frosettacode.org%2Fwiki%2FURL_encoding
enhex/uri: https%3A%2F%2Frosettacode.org%2Fwiki%2FURL_encoding
RFC-3986: https%3A%2F%2Frosettacode.org%2Fwiki%2FURL_encoding
Custom: https%3A%2F%2Frosettacode%2Eorg%2Fwiki%2FURL%5Fencoding
JavaScript: https://rosettacode.org/wiki/URL_encoding
"https://en.wikipedia.org/wiki/Pikes Peak granite"
enhex: https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FPikes%20Peak%20granite
enhex/uri: https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FPikes+Peak+granite
RFC-3986: https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FPikes%20Peak%20granite
Custom: https%3A%2F%2Fen%2Ewikipedia%2Eorg%2Fwiki%2FPikes%20Peak%20granite
JavaScript: https://en.wikipedia.org/wiki/Pikes%20Peak%20granite