URL Encoders
URL encoding (also called percent-encoding) converts characters into a format that can be transmitted over the Internet.
url
Aliases: url-encode
Encodes text using application/x-www-form-urlencoded format. Special characters are converted to %XX
format where XX is the hexadecimal value.
Usage
echo "hello world" | eoyc -e "url"
# Output: hello%20world
Characters That Are Encoded
- Space →
%20
!
→%21
#
→%23
$
→%24
&
→%26
'
→%27
(
→%28
)
→%29
*
→%2A
+
→%2B
,
→%2C
/
→%2F
:
→%3A
;
→%3B
=
→%3D
?
→%3F
@
→%40
[
→%5B
]
→%5D
Examples
echo "https://example.com/path?name=value" | eoyc -e "url"
# Output: https%3A%2F%2Fexample.com%2Fpath%3Fname%3Dvalue
echo "user@example.com" | eoyc -e "url"
# Output: user%40example.com
echo "hello world & goodbye" | eoyc -e "url"
# Output: hello%20world%20%26%20goodbye
url-decode
Decodes URL-encoded strings back to original text.
Usage
echo "hello%20world" | eoyc -e "url-decode"
# Output: hello world
Examples
echo "https%3A%2F%2Fexample.com" | eoyc -e "url-decode"
# Output: https://example.com
echo "user%40example.com" | eoyc -e "url-decode"
# Output: user@example.com
Round-Trip Example
echo "Special chars: !@#$%^&*()" | eoyc -e "url" | eoyc -e "url-decode"
# Output: Special chars: !@#$%^&*()
Use Cases
- Preparing data for HTTP GET parameters
- Encoding email addresses and special characters in URLs
- Form data submission
- API query parameters
Practical Example: URL Processing
# Encode URLs from a file
cat urls.txt | eoyc -e "url"
# Encode only the URL part in a line
echo "Visit https://www.example.com for info" | eoyc -r "https?://[^\s]+" -e "url"
# Output: Visit https%3A%2F%2Fwww.example.com for info
Chaining with URL Encoding
# URL encode then Base64
echo "special@chars.com" | eoyc -e "url>base64"
# URL encode then uppercase
echo "test data" | eoyc -e "url>upcase"
# Output: TEST%20DATA
Note on Line Feeds
URL encoding will also encode newlines (\n
) as %0A
if present in the input.