Base62x编解码开源类库增加C++版本

2020年以来近两个月来,新冠肺炎 疫情肆虐中华大地,九洲同悲,四海恐慌,唯望炎黄子孙同仇敌忾,将传染性病毒早日隔离并捕获进牢笼,打入十八层地狱,永世不得翻身!

自我囚禁之余,安排时间对 -Base62x 编解码程序进行翻阅,同时考虑并增加了 Base62x 编解码程序的 C++版本。

这是继2016年增加 Base62x in Java, 2017年增加 Base62x in JavaScript, 2018年增加 Base62x in Perl, 2019年增加 Base62x in Python之后的又一个新语言版本,此后,C++的应用项目,可以直接下载使用即可。Base62x 编解码的实现,首先是C语言版本。

距离上次新增并完善 Base62x in Python 已经有差不多一年的时间,在这期间, Base62x 得到更广泛的应用和部署,也在 -Github 上获得更多的点赞。这是令人欣慰的。

Base62x in C++ 的程序代码包括两部分:

  1. Base62x.class.hpp
    这是 Base62x 的C++版本的主体程序,用于构建 Base62x 对象及其两个主要方法: encode/decode .
    另外还有一些辅助工具方法.

  2. Base62x_test.cpp
    是为测试 Base62x in C++ 而编写的辅助程序,主要给出调用 Base62x in C++的样例。

    Base62x in C++的使用样例

    # include “Base62x.class.hpp”

    using namespace std;
    //- init.
    Base62x myb62x;
    char *input = “Hello Base62x!\n”;
    char *output;
    int ibase = 0; // zero for string
    //- encode
    output = myb62x.encode(input, ibase);
    //- decode
    int obase = ibase
    input = myb62x.decode(output, obase);

借助 C++ (C with class)的面向对象支持,Base62x in C++几乎可以借用 Base62x in Java的逻辑和 Base62x in C的代码,融合而成即可。

截止目前(2020年2月),Base62x 已经可以提供的编程语言版本包括 C, Java, PHP, JavaScript, Perl, Python, C++.
其中Base62x in JavaScript 还有两个实现, Base62x.class.js 和 npm base62x.

2019年,Base62x 的相关说明内容还没写入网上各个主要知识Wiki站点,由此也传播给更多的人。此外,Base62x 论文相关的辅助材料也发布在 -ResearchGate 上,可供免费翻阅。与此同时,还完善了 -Base62x 的官方网页,让在线编解码体验、浏览和翻阅更简便快捷。

籍此,感谢为 Base62x 的源代码和说明文档做出贡献的朋友们,他们的名字都记载在 -Github的代码库里或者知识Wiki站点里,谢谢你们!

最好的版本永远是下一个版本,继续期待 Base62x 能为技术同行们带来帮助,也期待一起修改订正,使其日益完善。



Base62x: An alternative approach to Base64 for only-alphanumeric characters in output.
Base62x is an non-symbolic Base64 encoding scheme. It can be used safely in computer file systems, programming languages for data exchange, internet communication systems, and is an ideal substitute and successor of many variants of Base64 encoding scheme.

Base62x 是一种无符号的Base64编码方案。
在计算机文件系统、编程语言数据交换、互联网络通信系统中可以安全地使用,同时是各种变种Base64编码方案的理想替代品、继任者。

base62x-algorithm

This entry was posted in Base62x, 编程技术, 计算机技术 and tagged , , . Bookmark the permalink.

发表评论

电子邮件地址不会被公开。 必填项已用*标注