Giter Site home page Giter Site logo

befor64's Introduction

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 Compiler 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

befor64's People

Contributors

szaghi avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.