Unicode C++
Unicode C++
URL-Encode a MIME Body
See more MIME Examples
Demonstrates the Chilkat Mime.UrlEncodeBody method, which replaces the current body with an application/x-www-form-urlencoded-style representation using the named charset. The only argument is the charset; it is a void method.
Background: This transforms the body into the form-encoding used by HTML form submissions — spaces to
+, reserved characters to percent-escapes — interpreting the text through the given charset first so non-ASCII characters encode correctly. It is a niche operation for constructing form-style payloads within a MIME part.Chilkat Unicode C++ Downloads
#include <CkMimeW.h>
void ChilkatSample(void)
{
bool success = false;
// Demonstrates the Mime.UrlEncodeBody method, which replaces the current body with an
// application/x-www-form-urlencoded representation using the named charset. The only argument is
// the charset. It is a void method.
CkMimeW mime;
success = mime.SetBodyFromPlainText(L"name=John Doe & city=New York");
if (success == false) {
wprintf(L"%s\n",mime.lastErrorText());
return;
}
// URL-encode the body: spaces become "+", reserved characters become %-escapes.
mime.UrlEncodeBody(L"utf-8");
const wchar_t *encodedBody = mime.getBodyDecoded();
if (mime.get_LastMethodSuccess() == false) {
wprintf(L"%s\n",mime.lastErrorText());
return;
}
wprintf(L"%s\n",encodedBody);
}