Decode an unlimited polymorphic array from base64.
use befor64 use penf integer(I8P) :: array_I8(1:4) call b64_decode_up(code='FwAAAAAAAABEAQAAAAAAABBwhAEAAAAAAgAAAAAAAAA=', up=array_I8) print "(L1)", str(n=array_I8)==str(n=[23_I8P,324_I8P,25456656_I8P,2_I8P])
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | code | Encoded array. |
||
class(*), | intent(out) | :: | up(1:) | Unlimited polymorphic variable to be decoded. |
subroutine b64_decode_up_a(code, up)
!< Decode an unlimited polymorphic array from base64.
!<
!<```fortran
!< use befor64
!< use penf
!< integer(I8P) :: array_I8(1:4)
!< call b64_decode_up(code='FwAAAAAAAABEAQAAAAAAABBwhAEAAAAAAgAAAAAAAAA=', up=array_I8)
!< print "(L1)", str(n=array_I8)==str(n=[23_I8P,324_I8P,25456656_I8P,2_I8P])
!<```
!=> T <<<
character(*), intent(in) :: code !< Encoded array.
class(*), intent(out) :: up(1:) !< Unlimited polymorphic variable to be decoded.
select type(up)
type is(real(R8P))
call b64_decode_R8_a(code=code,n=up)
type is(real(R4P))
call b64_decode_R4_a(code=code,n=up)
type is(integer(I8P))
call b64_decode_I8_a(code=code,n=up)
type is(integer(I4P))
call b64_decode_I4_a(code=code,n=up)
type is(integer(I2P))
call b64_decode_I2_a(code=code,n=up)
type is(integer(I1P))
call b64_decode_I1_a(code=code,n=up)
type is(character(*))
call b64_decode_string_a(code=code,s=up)
endselect
endsubroutine b64_decode_up_a