|
Thanks Beppe. It looks like just what I need. Rick -----Original Message----- From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx]On Behalf Of Beppe Costagliola Sent: Wednesday, November 10, 2004 3:22 AM To: RPG programming on the AS400 / iSeries Subject: Re: Base64 Encoding This is what I'm using to decode mail attachements: d QUSPTRUS PR extpgm('QUSPTRUS') d UserSpace 20 const d UserSpacePtr * D Input S 4A based(i_attachement) D Output S 3A based(o_attachement) D attachement DS based(p_attachement) D attachName 64 D attachSize 10 D attachFiller 22 D s_attachement S 10I 0 D tbBase64 S 65A D w S 10I 0 dim(4) D Char ds D ww 3U 0 D wa 1A overlay(ww) D iPos S 10I 0 D oPos S 10I 0 D MimeDecode PR 10I 0 D Input 1A const /free // initialize the table tbBase64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + 'abcdefghijklmnopqrstuvwxyz' + '0123456789+/='; // get workspaces QUSPTRUS ('BASE64 QTEMP ' : i_attachement); QUSPTRUS ('ATTACHMENTQTEMP ' : p_attachement); // set the output pointer past the header (name+size) o_attachement = p_attachement + %size(attachement); // decode dow Input <> *loval; iPos = 1; oPos = 1; w(1) = MimeDecode(%subst(Input: iPos: 1)); w(2) = MimeDecode(%subst(Input: iPos + 1: 1)); w(3) = MimeDecode(%subst(Input: iPos + 2: 1)); w(4) = MimeDecode(%subst(Input: iPos + 3: 1)); ww = %bitand ((w(1) * 4 + %Int(w(2) / 16)):255); %subst(Output: oPos: 1) = wa; ww = %bitand ((w(2) * 16 + %Int(w(3) / 4)):255); %subst(Output: oPos + 1: 1) = wa; ww = %bitand ((w(3) * 64 + w(4)):255); %subst(Output: oPos + 2: 1) = wa; i_attachement += 4; o_attachement += 3; enddo; // set the final attachement size into workspace s_attachement = o_attachement - p_attachement - %size(attachement); attachSize = %trim(%editc(s_attachement:'Z')); *inlr = *on; /end-free P MimeDecode B D MimeDecode PI 10I 0 D Input 1A const /free return %scan(Input: tbBase64) - 1; /end-free P MimeDecode E ----- Original Message ----- From: <Rick.Chevalier@xxxxxxxxxxxxxxx> To: <rpg400-l@xxxxxxxxxxxx> Sent: Wednesday, November 10, 2004 12:35 AM Subject: Base64 Encoding Does anyone know where I can find RPG examples of decoding a base64 string? Numerous searches result in lots of mine hits, and standards documents but nothing I can use in RPG. Rick -- This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/rpg400-l or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/rpg400-l. -- This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/rpg400-l or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/rpg400-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.