#include <rudiments/charstring.h>
#include <rudiments/stdio.h>
int main(int argc, const char **argv) {
// http escape...
const char httpstr[]="string with spaces and symbols: \\{}\"\'";
stdoutput.printf("original string:\n %s\n",httpstr);
char *escapedstr=charstring::httpEscape(httpstr);
stdoutput.printf("http escaped string:\n %s\n",escapedstr);
char *unescapedstr=charstring::httpUnescape(escapedstr);
stdoutput.printf("http unescaped string:\n %s\n",unescapedstr);
stdoutput.write('\n');
delete[] escapedstr;
delete[] unescapedstr;
// backslash-escaping of quote, backslash and space characters...
const char path[]="\"C:\\Program Files\\Firstworks\"";
stdoutput.printf("original path:\n %s\n",path);
char *escapedpath=charstring::escape(path,"\"\\ ");
stdoutput.printf("escaped path:\n %s\n",escapedpath);
char *unescapedpath=charstring::unescape(escapedpath);
stdoutput.printf("unescaped path:\n %s\n",unescapedpath);
stdoutput.write('\n');
delete[] escapedpath;
delete[] unescapedpath;
// base-64 encoding...
const unsigned char text[]="All along the untrodden "
"paths of the future...";
stdoutput.printf("original text:\n %s\n",text);
char *encodedtext=charstring::base64Encode(text);
stdoutput.printf("encoded text:\n %s\n",encodedtext);
unsigned char *decodedtext=charstring::base64Decode(encodedtext);
stdoutput.printf("decoded text:\n %s\n",decodedtext);
stdoutput.write('\n');
delete[] encodedtext;
delete[] decodedtext;
// obfuscation...
char data[]="sensitive data";
stdoutput.printf("original data:\n %s\n",data);
charstring::obfuscate(data);
stdoutput.write("obfuscated data:\n ");
stdoutput.safePrint(data);
stdoutput.write("\n");
charstring::deobfuscate(data);
stdoutput.printf("deobfuscated data:\n %s\n",data);
}