befor64 Module

module~~befor64~~UsesGraph module~befor64 befor64 module~penf penf module~penf->module~befor64 module~befor64_pack_data_m befor64_pack_data_m module~penf->module~befor64_pack_data_m module~befor64_pack_data_m->module~befor64 module~penf_global_parameters_variables penf_global_parameters_variables module~penf_global_parameters_variables->module~penf module~penf_b_size penf_b_size module~penf_global_parameters_variables->module~penf_b_size module~penf_stringify penf_stringify module~penf_global_parameters_variables->module~penf_stringify module~penf_b_size->module~penf module~penf_b_size->module~penf_stringify module~penf_stringify->module~penf iso_fortran_env iso_fortran_env iso_fortran_env->module~penf_stringify
Help

BeFoR64, Base64 encoding/decoding library for FoRtran poor people.

BeFoR64 GitHub tag

License License License License

Status Build Status Coverage Status

BeFoR64, Base64 encoding/decoding library for FoRtran poor people

  • BeFoR64 is a pure Fortran (KISS) library for base64 encoding/decoding for modern (2003+) Fortran projects;
  • BeFoR64 is Fortran 2003+ standard compliant;
  • BeFoR64 is a Free, Open Source Project.

Table of Contents

Issues

GitHub issues Ready in backlog In Progress Open bugs

Compiler Support

Compiler-brightgreen.svg) Compiler-brightgreen.svg) Compiler Compiler Compiler Compiler

What is BeFoR64?

Modern Fortran standards (2003+) have introduced better support for strings manipulations. Exploiting such new Fortran capabilities, BeFoR64 provides an easy to use module library for encoding and decoding Fortran types (binary internal representation) in ascii-base64-encoded string.

Go to Top

Main features

  • User-friendly methods for encoding/decoding in base64:
    • encode real/integer scalar variables;
    • decode real/integer scalar variables;
    • encode real/integer array variables;
    • decode real/integer array variables;
    • encode character scalar variables;
    • decode character scalar variables;
    • encode character array variables;
    • decode character array variables;
    • encode unlimited polymorphic scalar variables;
    • decode unlimited polymorphic scalar variables;
    • encode unlimited polymorphic array variables;
    • decode unlimited polymorphic array variables;
  • user-friendly methods for packing heterogeneous data:
    • pack integer/integer (different kinds) scalars;
    • pack integer/integer (different kinds) arrays;
    • pack real/real (different kinds) scalars;
    • pack real/real (different kinds) arrays;
    • pack integer/real scalars;
    • pack integer/real arrays;
  • errors trapping mechanism.

Any feature request is welcome.

Go to Top

Copyrights

BeFoR64 is an open source project, it is distributed under a multi-licensing system:

Anyone is interest to use, to develop or to contribute to BeFoR64 is welcome, feel free to select the license that best matches your soul!

More details can be found on wiki.

Go to Top

Documentation

Besides this README file the BeFoR64 documentation is contained into its own wiki. Detailed documentation of the API is contained into the GitHub Pages that can also be created locally by means of ford tool.

A Taste of BeFoR64

Let us assume our goal is encoding a binary integer. It is as simple as

use befor64
...
character(len=:), allocatable:: code64 ! base64 encoded string
...
call b64_encode(n=12._R8P,code=code64)
print "(A)", code64

But you are not limited to a simple integer scalar, you can encode real, integer, characters scalar or arrays, and by means of the auxiliary Lib_Pack library also mixed types. See the wiki.

Go to Top

Used By

module~~befor64~~UsedByGraph module~befor64 befor64 module~stringifor_string_t stringifor_string_t module~befor64->module~stringifor_string_t module~stringifor stringifor module~stringifor_string_t->module~stringifor module~foxy_xml_tag foxy_xml_tag module~stringifor->module~foxy_xml_tag module~foxy_xml_file foxy_xml_file module~foxy_xml_tag->module~foxy_xml_file module~foxy foxy module~foxy_xml_tag->module~foxy module~foxy_xml_file->module~foxy program~parse_file_simple parse_file_simple module~foxy->program~parse_file_simple program~create_tag create_tag module~foxy->program~create_tag program~add_attributes add_attributes module~foxy->program~add_attributes program~delete_attributes delete_attributes module~foxy->program~delete_attributes program~parse_string_simple parse_string_simple module~foxy->program~parse_string_simple program~indent_tag indent_tag module~foxy->program~indent_tag program~delete_content delete_content module~foxy->program~delete_content program~add_tag add_tag module~foxy->program~add_tag program~delete_tag delete_tag module~foxy->program~delete_tag program~write_tag write_tag module~foxy->program~write_tag
Help

Variables

TypeVisibility AttributesNameInitial
logical, public :: is_b64_initialized =.false.

Flag for checking the initialization of the library.

character(len=64), private :: base64 ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"

Base64 alphabet.


Interfaces

public interface b64_encode

Encode numbers (integer and real) to base64.

  • private pure subroutine b64_encode_R8(n, code)

    Arguments

    Type IntentOptional AttributesName
    real(kind=R8P), intent(in) :: n

    Number to be encoded.

    character(len=:), intent(out), allocatable:: code

    Encoded scalar.

    Description

    Encode scalar number to base64 (R8P).

  • private pure subroutine b64_encode_R8_a(n, code)

    Arguments

    Type IntentOptional AttributesName
    real(kind=R8P), intent(in) :: n(1:)

    Array of numbers to be encoded.

    character(len=:), intent(out), allocatable:: code

    Encoded array.

    Description

    Encode array numbers to base64 (R8P).

  • private pure subroutine b64_encode_R4(n, code)

    Arguments

    Type IntentOptional AttributesName
    real(kind=R4P), intent(in) :: n

    Number to be encoded.

    character(len=:), intent(out), allocatable:: code

    Encoded scalar.

    Description

    Encode scalar number to base64 (R4P).

  • private pure subroutine b64_encode_R4_a(n, code)

    Arguments

    Type IntentOptional AttributesName
    real(kind=R4P), intent(in) :: n(1:)

    Array of numbers to be encoded.

    character(len=:), intent(out), allocatable:: code

    Encoded array.

    Description

    Encode array numbers to base64 (R4P).

  • private pure subroutine b64_encode_I8(n, code)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=I8P), intent(in) :: n

    Number to be encoded.

    character(len=:), intent(out), allocatable:: code

    Encoded scalar.

    Description

    Encode scalar number to base64 (I8P).

  • private pure subroutine b64_encode_I8_a(n, code)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=I8P), intent(in) :: n(1:)

    Array of numbers to be encoded.

    character(len=:), intent(out), allocatable:: code

    Encoded array.

    Description

    Encode array numbers to base64 (I8P).

  • private pure subroutine b64_encode_I4(n, code)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=I4P), intent(in) :: n

    Number to be encoded.

    character(len=:), intent(out), allocatable:: code

    Encoded scalar.

    Description

    Encode scalar number to base64 (I4P).

  • private pure subroutine b64_encode_I4_a(n, code)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=I4P), intent(in) :: n(1:)

    Array of numbers to be encoded.

    character(len=:), intent(out), allocatable:: code

    Encoded array.

    Description

    Encode array numbers to base64 (I4P).

  • private pure subroutine b64_encode_I2(n, code)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=I2P), intent(in) :: n

    Number to be encoded.

    character(len=:), intent(out), allocatable:: code

    Encoded scalar.

    Description

    Encode scalar number to base64 (I2P).

  • private pure subroutine b64_encode_I2_a(n, code)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=I2P), intent(in) :: n(1:)

    Array of numbers to be encoded.

    character(len=:), intent(out), allocatable:: code

    Encoded array.

    Description

    Encode array numbers to base64 (I2P).

  • private pure subroutine b64_encode_I1(n, code)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=I1P), intent(in) :: n

    Number to be encoded.

    character(len=:), intent(out), allocatable:: code

    Encoded scalar.

    Description

    Encode scalar number to base64 (I1P).

  • private pure subroutine b64_encode_I1_a(n, code)

    Arguments

    Type IntentOptional AttributesName
    integer(kind=I1P), intent(in) :: n(1:)

    Array of numbers to be encoded.

    character(len=:), intent(out), allocatable:: code

    Encoded array.

    Description

    Encode array numbers to base64 (I1P).

  • private pure subroutine b64_encode_string(s, code)

    Arguments

    Type IntentOptional AttributesName
    character(len=*), intent(in) :: s

    String to be encoded.

    character(len=:), intent(out), allocatable:: code

    Encoded scalar.

    Description

    Encode scalar string to base64.

  • private pure subroutine b64_encode_string_a(s, code)

    Arguments

    Type IntentOptional AttributesName
    character(len=*), intent(in) :: s(1:)

    String to be encoded.

    character(len=:), intent(out), allocatable:: code

    Encoded scalar.

    Description

    Encode array string to base64.

public interface b64_encode_up

Encode unlimited polymorphic variable to base64.

  • public interface b64_encode_up()

    Arguments

    None

    Description

    Encode unlimited polymorphic variable to base64.

  • private pure subroutine b64_encode_up_a(up, code)

    Arguments

    Type IntentOptional AttributesName
    class(*), intent(in) :: up(1:)

    Unlimited polymorphic variable to be encoded.

    character(len=:), intent(out), allocatable:: code

    Encoded array.

    Description

    Encode an unlimited polymorphic array to base64.

public interface b64_decode

Decode numbers (integer and real) from base64.

  • private elemental subroutine b64_decode_R8(code, n)

    Arguments

    Type IntentOptional AttributesName
    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).

  • private pure subroutine b64_decode_R8_a(code, n)

    Arguments

    Type IntentOptional AttributesName
    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).

  • private elemental subroutine b64_decode_R4(code, n)

    Arguments

    Type IntentOptional AttributesName
    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).

  • private pure subroutine b64_decode_R4_a(code, n)

    Arguments

    Type IntentOptional AttributesName
    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).

  • private elemental subroutine b64_decode_I8(code, n)

    Arguments

    Type IntentOptional AttributesName
    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).

  • private pure subroutine b64_decode_I8_a(code, n)

    Arguments

    Type IntentOptional AttributesName
    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).

  • private elemental subroutine b64_decode_I4(code, n)

    Arguments

    Type IntentOptional AttributesName
    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).

  • private pure subroutine b64_decode_I4_a(code, n)

    Arguments

    Type IntentOptional AttributesName
    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).

  • private elemental subroutine b64_decode_I2(code, n)

    Arguments

    Type IntentOptional AttributesName
    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).

  • private pure subroutine b64_decode_I2_a(code, n)

    Arguments

    Type IntentOptional AttributesName
    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).

  • private elemental subroutine b64_decode_I1(code, n)

    Arguments

    Type IntentOptional AttributesName
    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).

  • private pure subroutine b64_decode_I1_a(code, n)

    Arguments

    Type IntentOptional AttributesName
    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).

  • private elemental subroutine b64_decode_string(code, s)

    Arguments

    Type IntentOptional AttributesName
    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.

  • private pure subroutine b64_decode_string_a(code, s)

    Arguments

    Type IntentOptional AttributesName
    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.

public interface b64_decode_up

Decode unlimited polymorphic variable from base64.

  • public interface b64_decode_up()

    Arguments

    None

    Description

    Decode unlimited polymorphic variable from base64.

  • private subroutine b64_decode_up_a(code, up)

    Arguments

    Type IntentOptional AttributesName
    character(len=*), intent(in) :: code

    Encoded array.

    class(*), intent(out) :: up(1:)

    Unlimited polymorphic variable to be decoded.

    Description

    Decode an unlimited polymorphic array from base64.


Subroutines

public subroutine b64_init()

Arguments

None

Description

Initialize the BeFoR64 library.

private pure subroutine encode_bits(bits, padd, code)

Arguments

Type IntentOptional AttributesName
integer(kind=I1P), intent(in) :: bits(1:)

Bits to be encoded.

integer(kind=I4P), intent(in) :: padd

Number of padding characters ('=').

character(len=*), intent(out) :: code

Characters code.

Description

Encode a bits stream (must be multiple of 24 bits) into base64 charcaters code (of length multiple of 4).

private pure subroutine decode_bits(code, bits)

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: code

Characters code.

integer(kind=I1P), intent(out) :: bits(1:)

Bits decoded.

Description

Decode a base64 string into a sequence of bits stream.

public subroutine b64_encode_up(up, code)

Arguments

Type IntentOptional AttributesName
class(*), intent(in) :: up

Unlimited polymorphic variable to be encoded.

character(len=:), intent(out), allocatable:: code

Encoded scalar.

Description

Encode an unlimited polymorphic scalar to base64.

private pure subroutine b64_encode_up_a(up, code)

Arguments

Type IntentOptional AttributesName
class(*), intent(in) :: up(1:)

Unlimited polymorphic variable to be encoded.

character(len=:), intent(out), allocatable:: code

Encoded array.

Description

Encode an unlimited polymorphic array to base64.

public subroutine b64_decode_up(code, up)

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: code

Encoded scalar.

class(*), intent(out) :: up

Unlimited polymorphic variable to be decoded.

Description

Decode an unlimited polymorphic scalar from base64.

private subroutine b64_decode_up_a(code, up)

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: code

Encoded array.

class(*), intent(out) :: up(1:)

Unlimited polymorphic variable to be decoded.

Description

Decode an unlimited polymorphic array from base64.

private pure subroutine b64_encode_R16(n, code)

Arguments

Type IntentOptional AttributesName
real(kind=R16P), intent(in) :: n

Number to be encoded.

character(len=:), intent(out), allocatable:: code

Encoded scalar.

Description

Encode scalar number to base64 (R16P).

private pure subroutine b64_encode_R8(n, code)

Arguments

Type IntentOptional AttributesName
real(kind=R8P), intent(in) :: n

Number to be encoded.

character(len=:), intent(out), allocatable:: code

Encoded scalar.

Description

Encode scalar number to base64 (R8P).

private pure subroutine b64_encode_R4(n, code)

Arguments

Type IntentOptional AttributesName
real(kind=R4P), intent(in) :: n

Number to be encoded.

character(len=:), intent(out), allocatable:: code

Encoded scalar.

Description

Encode scalar number to base64 (R4P).

private pure subroutine b64_encode_I8(n, code)

Arguments

Type IntentOptional AttributesName
integer(kind=I8P), intent(in) :: n

Number to be encoded.

character(len=:), intent(out), allocatable:: code

Encoded scalar.

Description

Encode scalar number to base64 (I8P).

private pure subroutine b64_encode_I4(n, code)

Arguments

Type IntentOptional AttributesName
integer(kind=I4P), intent(in) :: n

Number to be encoded.

character(len=:), intent(out), allocatable:: code

Encoded scalar.

Description

Encode scalar number to base64 (I4P).

private pure subroutine b64_encode_I2(n, code)

Arguments

Type IntentOptional AttributesName
integer(kind=I2P), intent(in) :: n

Number to be encoded.

character(len=:), intent(out), allocatable:: code

Encoded scalar.

Description

Encode scalar number to base64 (I2P).

private pure subroutine b64_encode_I1(n, code)

Arguments

Type IntentOptional AttributesName
integer(kind=I1P), intent(in) :: n

Number to be encoded.

character(len=:), intent(out), allocatable:: code

Encoded scalar.

Description

Encode scalar number to base64 (I1P).

private pure subroutine b64_encode_string(s, code)

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: s

String to be encoded.

character(len=:), intent(out), allocatable:: code

Encoded scalar.

Description

Encode scalar string to base64.

private pure subroutine b64_encode_R16_a(n, code)

Arguments

Type IntentOptional AttributesName
real(kind=R16P), intent(in) :: n(1:)

Array of numbers to be encoded.

character(len=:), intent(out), allocatable:: code

Encoded array.

Description

Encode array numbers to base64 (R16P).

private pure subroutine b64_encode_R8_a(n, code)

Arguments

Type IntentOptional AttributesName
real(kind=R8P), intent(in) :: n(1:)

Array of numbers to be encoded.

character(len=:), intent(out), allocatable:: code

Encoded array.

Description

Encode array numbers to base64 (R8P).

private pure subroutine b64_encode_R4_a(n, code)

Arguments

Type IntentOptional AttributesName
real(kind=R4P), intent(in) :: n(1:)

Array of numbers to be encoded.

character(len=:), intent(out), allocatable:: code

Encoded array.

Description

Encode array numbers to base64 (R4P).

private pure subroutine b64_encode_I8_a(n, code)

Arguments

Type IntentOptional AttributesName
integer(kind=I8P), intent(in) :: n(1:)

Array of numbers to be encoded.

character(len=:), intent(out), allocatable:: code

Encoded array.

Description

Encode array numbers to base64 (I8P).

private pure subroutine b64_encode_I4_a(n, code)

Arguments

Type IntentOptional AttributesName
integer(kind=I4P), intent(in) :: n(1:)

Array of numbers to be encoded.

character(len=:), intent(out), allocatable:: code

Encoded array.

Description

Encode array numbers to base64 (I4P).

private pure subroutine b64_encode_I2_a(n, code)

Arguments

Type IntentOptional AttributesName
integer(kind=I2P), intent(in) :: n(1:)

Array of numbers to be encoded.

character(len=:), intent(out), allocatable:: code

Encoded array.

Description

Encode array numbers to base64 (I2P).

private pure subroutine b64_encode_I1_a(n, code)

Arguments

Type IntentOptional AttributesName
integer(kind=I1P), intent(in) :: n(1:)

Array of numbers to be encoded.

character(len=:), intent(out), allocatable:: code

Encoded array.

Description

Encode array numbers to base64 (I1P).

private pure subroutine b64_encode_string_a(s, code)

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: s(1:)

String to be encoded.

character(len=:), intent(out), allocatable:: code

Encoded scalar.

Description

Encode array string to base64.

private elemental subroutine b64_decode_R16(code, n)

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: code

Encoded scalar.

real(kind=R16P), intent(out) :: n

Number to be decoded.

Description

Decode a base64 code into a scalar number (R16P).

private elemental subroutine b64_decode_R8(code, n)

Arguments

Type IntentOptional AttributesName
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).

private elemental subroutine b64_decode_R4(code, n)

Arguments

Type IntentOptional AttributesName
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).

private elemental subroutine b64_decode_I8(code, n)

Arguments

Type IntentOptional AttributesName
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).

private elemental subroutine b64_decode_I4(code, n)

Arguments

Type IntentOptional AttributesName
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).

private elemental subroutine b64_decode_I2(code, n)

Arguments

Type IntentOptional AttributesName
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).

private elemental subroutine b64_decode_I1(code, n)

Arguments

Type IntentOptional AttributesName
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).

private elemental subroutine b64_decode_string(code, s)

Arguments

Type IntentOptional AttributesName
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.

private pure subroutine b64_decode_R16_a(code, n)

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: code

Encoded array.

real(kind=R16P), intent(out) :: n(1:)

Array of numbers to be decoded.

Description

Decode a base64 code into an array numbers (R16P).

private pure subroutine b64_decode_R8_a(code, n)

Arguments

Type IntentOptional AttributesName
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).

private pure subroutine b64_decode_R4_a(code, n)

Arguments

Type IntentOptional AttributesName
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).

private pure subroutine b64_decode_I8_a(code, n)

Arguments

Type IntentOptional AttributesName
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).

private pure subroutine b64_decode_I4_a(code, n)

Arguments

Type IntentOptional AttributesName
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).

private pure subroutine b64_decode_I2_a(code, n)

Arguments

Type IntentOptional AttributesName
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).

private pure subroutine b64_decode_I1_a(code, n)

Arguments

Type IntentOptional AttributesName
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).

private pure subroutine b64_decode_string_a(code, s)

Arguments

Type IntentOptional AttributesName
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.

public subroutine autotest()

Arguments

None

Description

Procedure for autotesting the library functionalities.