ZCHAR *pszStringToEncode = "The quick brown fox jumps over the lazy dog",
*pszBuf = (ZCHAR *)NULL;
JCHAR *pszEncodedB64 = (JCHAR *)NULL,
szStringOut[501] = {0};
int nEncodedSize = 0,
nBinSize = 0,
nBufSize = 0;
/***** Encode a String *****/
nBinSize = jdeZStrlen(pszStringToEncode);
nEncodedSize = (((nBinSize) + 2 - (((nBinSize) + 2) % 3)) / 3 * 4) + sizeof(ZCHAR);
pszEncodedB64 = jdeAlloc(COMMON_POOL, nEncodedSize * sizeof(JCHAR), MEM_ZEROINIT);
encodeB64((BYTE *)pszStringToEncode, nBinSize, pszEncodedB64, nEncodedSize);
/***** Decode *****/
nBufSize = ((((nEncodedSize) / 4) + ((nEncodedSize) % 4 != 0 ? 1:0)) * 3) + sizeof(ZCHAR);
pszBuf = jdeAlloc(COMMON_POOL, nBufSize, MEM_ZEROINIT);
decodeB64((BYTE *)pszBuf, &nBufSize, pszEncodedB64);
jdeToUnicode(szStringOut, pszBuf, DIM(szStringOut), NULL);
/* free resources */
jdeFree(pszEncodedB64);
jdeFree(pszBuf);