同步操作将从 UFQI/Base62x 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
Base62x: An alternative approach to Base64 for alphanumeric-only [a-zA-Z0-9] 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, etc, and it is an ideal substitute and successor of tradtional Base64 and many variants of Base64 encoding scheme.
Base62x 是一种无符号 [a-zA-Z0-9] 的Base64编码方案。
她可以在计算机文件系统、编程语言数据交换、互联网络通信系统等方面安全地使用,同时是传统算法和各种变种Base64编码方案的理想替代品、继任者。
Base62x is an alternative approach to Base 64 without symbols in output.
-Base62x .
Base62x.encode(myString);
Base62x.decode(encodedString);
Base62x.encode(myString, inBase);
Base62x.decode(encodedString, outBase);
IEEE Article Number, 6020065 ;
-R/F2SQ , page url in -URL4P .
-Base62x in RearchGate, -R/12Sb .
@article{Liu2011Base62x,
title={Base62x: An alternative approach to Base64 for only-alphanumeric characters in output},
author={Liu, Zhenxing and Liu, Lu and Hill, Richard and Zhan, Yongzhao},
journal={2011 Eighth International Conference on Fuzzy Systems and Knowledge Discovery (FSKD)},
year={2011},
url={https://ieeexplore.ieee.org/document/6020065/}
}
shell> gcc -lm base62x.c -o base62x
shell>./base62x
Usage: ./base62x [-v] [-n <2|8|10|16|32>] <-enc|dec> string
Version: 0.90
shell> mi=0; umi=0; for i in {1..10000}; \
do \
r=`cat /dev/urandom|tr -dc 'a-zA-Z0-9'|fold -w 16|head -n 1`; \
r2=`cat /dev/urandom|tr -dc 'a-zA-Z0-9'|fold -w 16|head -n 1`; \
a="$r中文时间a$r2"; b=`./base62x -enc $a`; c=`./base62x -dec $b`; \
if [ "$a" == "$c" ]; then d="matched";mi=`expr $mi + 1`;\
else d="unmatched"; umi=`expr $umi + 1`; fi;\
echo -e "a=$a b="$b" c="$c" d="$d" mi="$mi" umi="$umi"\n"; \
done
In base62x_test.php
<?php
include("./base62x.class.php");
$s = "abcd1234";
$s2 = "abc中文123";
$s3 = "\"Tcler's Wiki: UTF-8 bit by bit (Revision 6)\". 2009-04-25. Retrieved 2009-05-22."
."In orthodox UTF-8, a NUL byte (\\x00) is represented by a NUL byte. […] But […] we "
."[…] want NUL bytes inside […] strings […] | ① ② ③ ④ ⑤ ⑥ ⑦ | Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ Ⅶ Ⅷ Ⅸ Ⅹ | "
."! # $ % & ' ( ) * + , - . /";
print "[$s] encoded:[".($s_enc=Base62x::encode($s))."]\n";
print "[$s_enc] decoded:[".($s_dec=Base62x::decode($s_enc))."]\n";
print "\n[$s2] encoded:[".($s2_enc=Base62x::encode($s2))."]\n";
print "[$s2_enc] decoded:[".($s2_dec=Base62x::decode($s2_enc))."]\n";
print "\n[$s3] encoded:[".($s3_enc=Base62x::encode($s3))."]\n";
print "[$s3_enc] decoded:[".($s3_dec=Base62x::decode($s3_enc))."]\n";
?>
Another recommended Base62x PHP Library:
https://github.com/mauriziofonte/php-base62x
In base62x_test.jsp
<%@page
import="java.util.Date,
java.util.HashMap,
java.util.Map,
java.util.Iterator"
language="java"
pageEncoding="UTF-8"%><%
//- system
System.setProperty("sun.jnu.encoding", "UTF-8");
System.setProperty("file.encoding", "UTF-8"); //- set " -Dfile.encoding=utf8 " in jvm start script
//- request
request.setCharacterEncoding("UTF-8");
//- response
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
%><%@include file="./Base62x.class.jsp"%><%
//- Test and examples of Base62x
//- Sun Aug 14 14:09:45 CST 2016
//- Wadelau@ufqi.com
String s = "abcd1234";
String s2 = "abc中文123";
String s3 = "\"Tcler's Wiki: UTF-8 bit by bit (Revision 6)\". 2009-04-25. Retrieved 2009-05-22."
+ "In orthodox UTF-8, a NUL byte (\\x00)"
+ "is represented by a NUL byte. […] But […] we […] want NUL bytes inside […] strings […] "
+ "| ① ② ③ ④ ⑤ ⑥ ⑦ "
+ "| Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ Ⅵ Ⅶ Ⅷ Ⅸ Ⅹ | ! # $ % & ' ( ) * + , - . /";
String s_enc, s_dec, s2_enc, s2_dec, s3_enc, s3_dec;
out.println("<br/>["+s+"] encoded:["+(s_enc=Base62x.encode(s))+"]");
out.println("<br/>["+s_enc+"] decoded:["+(s_dec=Base62x.decode(s_enc))+"]");
out.println("<br/>["+s2+"] encoded:["+(s2_enc=Base62x.encode(s2))+"]");
out.println("<br/>["+s2_enc+"] decoded:["+(s2_dec=Base62x.decode(s2_enc))+"]");
out.println("<br/>["+s3+"] encoded:["+(s3_enc=Base62x.encode(s3))+"]");
out.println("<br/>["+s3_enc+"] decoded:["+(s3_dec=Base62x.decode(s3_enc))+"]");
%>
It's an alternative option for -Base64 in -Java , JDK Doc .
In base62x_test.js.html
var randi = Math.ceil(Math.random()*10000);
var s = randi+'abcd'+(randi*randi)+'1234@'+(randi%2==0?'中國-文化-源遠流長'
+randi+':::':randi)+(new Date())+'@'+Math.ceil(Math.random()*100000);
var encs = Base62x.encode(s);
var decs = Base62x.decode(encs);
var inum = randi+'a'+1+randi+'fea'; var ibase = 16; var obase = 16;
var num_enc = Base62x.encode(inum, ibase);
var num_dec = Base62x.decode(num_enc, obase);
Play with npm,
npm install base62x
by https://github.com/beaulac/node-base62x
Base62x.pm
Usage: OOP Style
use Base62x;
my $base62x = Base62x->new();
my $str = “Hello World!\n”;
my $encoded = $base62x->encode($str);
$str = $base62x->decode($encoded);
# numbers conversion
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);
Usage: Functional Style
use Base62x qw (base62x_encode base62x_decode);
my $str = “Hello World!\n”;
my $encoded = base62x_encode($str);
$str = base62x_decode($encoded);
Base62x.py
Usage: OOP style
# import Base62x.py
from Base62x import Base62x
# initialize
base62x = Base62x();
rawstr = “abcd1234x’efg89;01”;
encstr = base62x.encode(rawstr);
decstr = base62x.decode(encstr);
Base62x_test.py
Test cases for Base62x in Python.
One more Base62x in Python:
https://www.freesuch.com/read/admin/works/程序员笔记/base62x的实现.rtf
Test scripts.
Main class for the conversion.
@todo
dart-base62x
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。