Encodes a URL with a sub-set of ASCII characters. This function is used to replace characters not allowed in a URL (accented characters, spaces, etc.). A URL can be decoded by
URLDecode.
Remark: The syntax of the URL is not checked.
// Encodes a URL
EncodedURL = URLEncode("http://my site/my page")
// EncodedURL now contains http://my%20site/my%20page
// The two spaces are converted to %20
MyURL is UNICODE string = "http://my site/my page"
MyEncodedURL is string
// Encodes a URL
MyEncodedURL = URLEncode(MyURL, encodeURLFromUnicode)
// Encode a URL with a URL parameter
Info(URLEncode("https://www.google.fr/?", encodeURLFromAnsi) + ...
URLEncode(URLEncode("https://www.google.fr/?é", encodeURLFromAnsi), encodeURLParameter))
Syntax
<Result> = URLEncode(<URL> [, <Encoding format>])
<Result>: Character string
Character string containing the encoded URL. Non-allowed characters are changed to %xx, where xx is the hexadecimal value of this character.This function returns no error code because all character strings can be encoded.
<URL>: Character string
URL to be encoded (in ANSI format).
<Encoding format>: Optional Integer constant
URL encoding format: | |
encodeURLFromAnsi | URL format. The encoded text only contains characters allowed in a URL. The text to encode is an ANSI string. |
encodeURLFromUTF8 (Default value) | URL format. The encoded text only contains characters allowed in a URL. The text to encode is a UTF-8 string. |
encodeURLParameter | URL format. The specific characters of a URL are encoded to pass a URL as a parameter to another URL. Caution: The URL passed as parameter must have been encoded with the encodeURLFromAnsi or encodeURLFromUTF8 constant. |
Remarks
Characters allowed in an encoded URL
The list of characters allowed in an encoded URL is as follows:
| | | | |
; | / | ? | : | @ |
& | = | + | $ | , |
- | _ | . | ! | ~ |
* | ' | ( | | | ) |
% | # | digits | letters (uppercase and lowercase characters) | |
According to the options, the function will be able to encode some of these characters.
- Encoding an empty URL (empty string) returns an empty URL.
- Special case: the "%" and "+" signs
- Since the % sign is used for decimal encoding, it is itself encoded as a decimal.
- The "+" sign, which is an alternative to %20 for encoding a space, is also encoded (to avoid problems when decoding).