Re: Decode base64 to job CCSID?
Daniel Gross <[email protected]> Wed, 1 Apr 2026 20:15:22 +0200
| Newsgroups | gmane.comp.lang.as400.rpg |
|---|---|
| Message-ID | <[email protected]> |
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
> Am 01.04.2026 um 19:53 schrieb Justin Taylor <[email protected]>:
>
> If I specify the CCSID on retDecoded, I get SQLSTATE 42806 "Variable
> RETDECODED not compatible or value too long.".
>
>
> Example:
> Dcl-s retDecoded varChar(1000) ccsid(*UTF8) ;
>
>
>
>> On Wed, Apr 1, 2026 at 12:32 PM cesco via RPG400-L <
>> [email protected]> wrote:
>>
>> You need to know what encoding the encoded in base64 was originally in.
>> then try to declare retDecoded with that CCSID
>>
>>
>>
>>
>>
> --
> 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.
>
--
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.