Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- auto t = _decodeTable.ptr;
- char[] nonPadded = data[0..(length - paddedPos)];
- for (auto p=nonPadded.ptr, e=p+nonPadded.length; p < e; ++p)
- {
- uint next = t[*p];
- if (next || *p is 'A')
- {
- *quadPtr++ = cast(ubyte) next;
- if (quadPtr is endPtr) // got a full quad of data!
- {
- rtnPt[0] = cast(ubyte) ((base64Quad[0] << 2) | (base64Quad[1] >> 4));
- rtnPt[1] = cast(ubyte) ((base64Quad[1] << 4) | (base64Quad[2] >> 2));
- rtnPt[2] = cast(ubyte) ((base64Quad[2] << 6) | base64Quad[3]);
- encodedLength += 3;
- quadPtr = base64Quad.ptr;
- rtnPt += 3;
- }
- }
- }
Add Comment
Please, Sign In to add comment