Re: Decode base64 to job CCSID?

Justin Taylor <[email protected]> Thu, 2 Apr 2026 07:36:38 -0500
Newsgroups gmane.comp.lang.as400.rpg
Message-ID <CAJu8Sp_StXEuJyvZC6ZGkHFmZ=wRqYAjaTMywT1GHJtdWECiZw@mail.gmail.com>
decoded.blob gave me a 42806 (Variable DECODED.BLOB not compatible or value
too long.)


Javier, I tried moving the variable into another identical variable as you
suggested, but that gave the same results.



Ideally, I'd love a SQL solution.  I've got a iconv() example, but I really
don't want to go there.


Thanks



On Wed, Apr 1, 2026 at 1:15 PM Daniel Gross <[email protected]> wrote:

> Ah - yes - BASE64_DECODE returns a blob without CCSID (or better with
> *HEX).
>
> I solved this lately with a DS:
>
>    dcl-ds decoded qualified;
>      blob varchar(1000);
>      utf8 varchar(1000) ccsid(*utf8) samepos(blob);
>    end-ds;
>
>    exec sql set :decoded.blob = QSYS2.BASE64_DECODE(:encoded);
>    return decoded.utf8;
>
> I think this works quite OK - you could of course do this also with some
> pointer-arithmetic.
>
> HTH
> Daniel
>
>
-- 
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: [email protected]
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: [email protected]
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact [email protected] for any subscription related questions.