curl_unescape(3)
π¦ NAME π¦
okay so bestie, this is the curl_unescape(3) page from the Library Functions Manual, and the name is literally curl_unescape β URL decode a string π. Yes it's deprecated, but we still stan completeness.
β¨ SYNOPSIS β¨
#include <curl/curl.h>
char *curl_unescape(const char *input, int length);
π DESCRIPTION π
First thing first: this function is deprecated. The replacement is curl_easy_unescape(3), so use that instead π
.
This function converts the URL encoded string input to a "plain string" and returns that as a new allocated string. All input characters that are URL encoded (%XX where XX is a two-digit hexadecimal number) are converted to their plain text versions. Even though the returned data is not constrained by its type, that returned data may not be altered β like, respect the data's boundaries, bestie π«Ά.
If the length argument is set to 0, curl_unescape(3) calls strlen() on input to find out the size.
You must curl_free(3) the returned string when you are done with it. That part is not optional π.
π PROTOCOLS π
This functionality affects all supported protocols β¨.
π EXAMPLE π
Here's the example, exactly as given, because we do not mess with code:
int main(void)
{
CURL *curl = curl_easy_init();
if(curl) {
char *decoded = curl_unescape("%63%75%72%6c", 12);
if(decoded) {
/* do not assume printf() works on the decoded data */
printf("Decoded: ");
/* ... */
curl_free(decoded);
}
}
}
π DEPRECATED π
Since 7.15.4, curl_easy_unescape(3) should be used. This function might be removed in a future release. So like, don't build your whole personality around it π.
π AVAILABILITY π
Added in curl 7.1.
π«Ά RETURN VALUE π«Ά
A pointer to a null-terminated string or NULL if it failed.
π₯ SEE ALSO π₯
mwah π this page is from libcurl, dated 2026-10-12, and it's literally the curl_unescape(3) manual β now go free that string, bestie πβ¨
π¦ where this page comes from
- fedora 44: libcurl-devel 8.18.0-14.fc44 Β· curl
- fedora 44: libcurl-devel 8.18.0-14.fc44 Β· curl
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms