public interface b64_decode
Decode numbers (integer and real) from base64.
This is an interface for decoding integer and real numbers of any kinds from a base64 string. This interface can decode both
scalar and array.
Note Before start to decode anything the library must be initialized. The procedure b64_init
must be called at first. The
global variable is_b64_initialized
can be used to check the status of the initialization.
For a practical example see the autotest
procedure.
real ( R8P ) :: decoded ! scalar to be decoded
...
call b64_decode ( code = 'AAAAAAAA8D8=' , n = decoded )
integer ( I8P ) :: decoded ( 1 : 4 ) ! array to be decoded
...
call b64_decode ( code = 'FwAAAAAAAABEAQAAAAAAABBwhAEAAAAAAgAAAAAAAAA=' , n = decoded )
Note If you want to decode heterogenous data (e.g. integer and real numbers), you must use the auxiliary pack_data
procedure.
Warning The decoding of array of strings is admitted only if each string of the array has the same length.
Calls
interface~~b64_decode~~CallsGraph
interface~b64_decode
b64_decode
proc~b64_decode_i2
b64_decode_I2
interface~b64_decode->proc~b64_decode_i2
proc~b64_decode_string
b64_decode_string
interface~b64_decode->proc~b64_decode_string
proc~b64_decode_i1_a
b64_decode_I1_a
interface~b64_decode->proc~b64_decode_i1_a
proc~b64_decode_i4
b64_decode_I4
interface~b64_decode->proc~b64_decode_i4
proc~b64_decode_i4_a
b64_decode_I4_a
interface~b64_decode->proc~b64_decode_i4_a
proc~b64_decode_i8
b64_decode_I8
interface~b64_decode->proc~b64_decode_i8
proc~b64_decode_string_a
b64_decode_string_a
interface~b64_decode->proc~b64_decode_string_a
proc~b64_decode_r4
b64_decode_R4
interface~b64_decode->proc~b64_decode_r4
proc~b64_decode_r4_a
b64_decode_R4_a
interface~b64_decode->proc~b64_decode_r4_a
proc~b64_decode_r8
b64_decode_R8
interface~b64_decode->proc~b64_decode_r8
proc~b64_decode_r8_a
b64_decode_R8_a
interface~b64_decode->proc~b64_decode_r8_a
proc~b64_decode_i8_a
b64_decode_I8_a
interface~b64_decode->proc~b64_decode_i8_a
proc~b64_decode_i2_a
b64_decode_I2_a
interface~b64_decode->proc~b64_decode_i2_a
proc~b64_decode_i1
b64_decode_I1
interface~b64_decode->proc~b64_decode_i1
proc~decode_bits
decode_bits
proc~b64_decode_i2->proc~decode_bits
proc~b64_decode_string->proc~decode_bits
interface~byte_size
byte_size
proc~b64_decode_string->interface~byte_size
proc~b64_decode_i1_a->proc~decode_bits
proc~b64_decode_i4->proc~decode_bits
proc~b64_decode_i4_a->proc~decode_bits
proc~b64_decode_i8->proc~decode_bits
proc~b64_decode_string_a->proc~decode_bits
proc~b64_decode_string_a->interface~byte_size
proc~b64_decode_r4->proc~decode_bits
proc~b64_decode_r4_a->proc~decode_bits
proc~b64_decode_r8->proc~decode_bits
proc~b64_decode_r8_a->proc~decode_bits
proc~b64_decode_i8_a->proc~decode_bits
proc~b64_decode_i2_a->proc~decode_bits
proc~b64_decode_i1->proc~decode_bits
proc~byte_size_i8p
byte_size_I8P
interface~byte_size->proc~byte_size_i8p
proc~byte_size_i4p
byte_size_I4P
interface~byte_size->proc~byte_size_i4p
proc~byte_size_chr
byte_size_chr
interface~byte_size->proc~byte_size_chr
proc~byte_size_r4p
byte_size_R4P
interface~byte_size->proc~byte_size_r4p
proc~byte_size_r8p
byte_size_R8P
interface~byte_size->proc~byte_size_r8p
proc~byte_size_i2p
byte_size_I2P
interface~byte_size->proc~byte_size_i2p
proc~byte_size_i1p
byte_size_I1P
interface~byte_size->proc~byte_size_i1p
Nodes of different colours represent the following:
Graph Key
Module
Module
Submodule
Submodule
Type
Type
Subroutine
Subroutine
Function
Function
Interface
Interface
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Where possible, edges connecting nodes are given different colours to make them
easier to distinguish in large graphs.
Module Graph
Solid arrows point from a parent (sub)module to the submodule which is
descended from it. Dashed arrows point from a module being used to the
module using it.
Type Graph
Solid arrows point from one derived type to another which extends
(inherits from) it. Dashed arrows point from a derived type to another
type containing it as a components, with a label listing the name(s) of
said component(s).
Call Graph
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Called By
interface~~b64_decode~~CalledByGraph
interface~b64_decode
b64_decode
proc~decode
decode
proc~decode->interface~b64_decode
proc~autotest
autotest
proc~autotest->interface~b64_decode
Nodes of different colours represent the following:
Graph Key
Module
Module
Submodule
Submodule
Type
Type
Subroutine
Subroutine
Function
Function
Interface
Interface
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Where possible, edges connecting nodes are given different colours to make them
easier to distinguish in large graphs.
Module Graph
Solid arrows point from a parent (sub)module to the submodule which is
descended from it. Dashed arrows point from a module being used to the
module using it.
Type Graph
Solid arrows point from one derived type to another which extends
(inherits from) it. Dashed arrows point from a derived type to another
type containing it as a components, with a label listing the name(s) of
said component(s).
Call Graph
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Module Procedures
Arguments
Type
Intent Optional
Attributes Name
character(len=*),
intent(in)
::
code Encoded scalar.
real(kind=R8P),
intent(out)
::
n Number to be decoded.
Description
Decode a base64 code into a scalar number (R8P).
Arguments
Type
Intent Optional
Attributes Name
character(len=*),
intent(in)
::
code Encoded array.
real(kind=R8P),
intent(out)
::
n (1:)Array of numbers to be decoded.
Description
Decode a base64 code into an array numbers (R8P).
Arguments
Type
Intent Optional
Attributes Name
character(len=*),
intent(in)
::
code Encoded scalar.
real(kind=R4P),
intent(out)
::
n Number to be decoded.
Description
Decode a base64 code into a scalar number (R4P).
Arguments
Type
Intent Optional
Attributes Name
character(len=*),
intent(in)
::
code Encoded array.
real(kind=R4P),
intent(out)
::
n (1:)Array of numbers to be decoded.
Description
Decode a base64 code into an array numbers (R4P).
Arguments
Type
Intent Optional
Attributes Name
character(len=*),
intent(in)
::
code Encoded scalar.
integer(kind=I8P),
intent(out)
::
n Number to be decoded.
Description
Decode a base64 code into a scalar number (I8P).
Arguments
Type
Intent Optional
Attributes Name
character(len=*),
intent(in)
::
code Encoded array.
integer(kind=I8P),
intent(out)
::
n (1:)Array of numbers to be decoded.
Description
Decode a base64 code into an array numbers (I8P).
Arguments
Type
Intent Optional
Attributes Name
character(len=*),
intent(in)
::
code Encoded scalar.
integer(kind=I4P),
intent(out)
::
n Number to be decoded.
Description
Decode a base64 code into a scalar number (I4P).
Arguments
Type
Intent Optional
Attributes Name
character(len=*),
intent(in)
::
code Encoded array.
integer(kind=I4P),
intent(out)
::
n (1:)Array of numbers to be decoded.
Description
Decode a base64 code into an array numbers (I4P).
Arguments
Type
Intent Optional
Attributes Name
character(len=*),
intent(in)
::
code Encoded scalar.
integer(kind=I2P),
intent(out)
::
n Number to be decoded.
Description
Decode a base64 code into a scalar number (I2P).
Arguments
Type
Intent Optional
Attributes Name
character(len=*),
intent(in)
::
code Encoded array.
integer(kind=I2P),
intent(out)
::
n (1:)Array of numbers to be decoded.
Description
Decode a base64 code into an array numbers (I2P).
Arguments
Type
Intent Optional
Attributes Name
character(len=*),
intent(in)
::
code Encoded scalar.
integer(kind=I1P),
intent(out)
::
n Number to be decoded.
Description
Decode a base64 code into a scalar number (I1P).
Arguments
Type
Intent Optional
Attributes Name
character(len=*),
intent(in)
::
code Encoded array.
integer(kind=I1P),
intent(out)
::
n (1:)Array of numbers to be decoded.
Description
Decode a base64 code into an array numbers (I1P).
Arguments
Type
Intent Optional
Attributes Name
character(len=*),
intent(in)
::
code Encoded scalar.
character(len=*),
intent(out)
::
s String to be decoded.
Description
Decode a base64 code into a scalar string.
Arguments
Type
Intent Optional
Attributes Name
character(len=*),
intent(in)
::
code Encoded scalar.
character(len=*),
intent(out)
::
s (1:)String to be decoded.
Description
Decode a base64 code into an array of strings.