在此前的一篇Blog(-R/G2SW )中,“-gMIS 吉密斯优化更新+分组项区段AddGroupBySeg/+复制AddByCopy等”, 咱们提到“注册动做registerAct: 改进增长 Base62x.class.js”, 初尝跨编程语言、运行时环境进行数据交换的便利,此次也因着部署一个新的 -GWA2 的项目,须要在 -PHP 和 -Perl 中进行多字节非ASCII字符数据的传递,因而就推荐了 -Base62x , 这样 Base62x in Perl 的工做就排上日程,在两个周末的实验下,完成了 Base62x in Perl 的初个版本. 以下是一些使用细节,同时也能够在 -GitHub-Wadelau 上寻找得到, 或者直接访问 -Base62x .npm
use Base62x;
编程my $base62x = Base62x->new();
my $str = “Hello World!\n”;
my $encoded = $base62x->encode($str);
$str = $base62x->decode($encoded);安全
在 Perl 程序的开始,引入 Base62x.pm , 而后生成相应的对象实例,经过调用 该实例的 encode/decode 方法实现相应的编码与解码。
同 Base62x 的其余版本相通,实现了跨编程语言、运行时环境的数据安全交换。
同 Base62x的其余版本同样,Perl版本也实现了针对数字进制转换和ASCII快捷处理的相关方法。如,网络
my $i = 100;
# treas $i as base 10 and transform it into Base62x
my $numInBase62x = $base62x->encode($i, 10);
# try to decode a Base62x num into base 10
$i = $base62x->decode($numInBase62x, 10);app
OOP的调用方式,适合进行循环内反复调用的使用场景,因为在实例化时,进行了环境变量的初始化而节省了后续重复动做。
.编程语言
use Base62x qw (base62x_encode base62x_decode);
idemy $str = “Hello World!\n”;
my $encoded = base62x_encode($str);
$str = base62x_decode($encoded);函数式编程
函数式编程适合单一次启动并运行的使用场景。
详细实现能够参考 Base62x.pm 的代码。
.函数
截止目前,Base62x 已经能够提供的编程语言版本包括 C, Java, PHP, JavaScript, Perl. 其中JavaScript 还有两个实现, Base62x.class.js 和 npm 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编码方案的理想替代品、继任者。