文档章节

-Base62x 新增JavaScript版本及C/Java/PHP版本的完善

wadelau
 wadelau
发布于 2017/02/28 15:30
字数 495
阅读 16
收藏 0
点赞 0
评论 0

b62x-icon-201306.png (50×50)

Base62x-design-201702.v2.jpg (1025×557)
-Base62x 設計圖

-Base62x 在過去的2016年得到更多的部署和應用,也日漸穩定和成熟。在完成C/Java/PHP開發語言版本的基礎上,日前完成了JavaScript版本的移植,實現了在這四種開發語言中直接引用相關類庫即可應用。
C/C++:   base62x.c
Java:   Base62x.class.jsp
PHP:   base62x.class.php
JavaScript:   Base62x.class.js
相應的源碼已經開源發佈在 -github 上,地址為: -R/a2SM . 
同時也提供了針對各個語言版本的測試程序。

base62x.java_.php_.javascript.manual.201702.jpg (721×377)
OOP編程方式的調用Base62x方法

base62x.c.manual.201702.jpg (771×449)
函數式編程調用Base62x方法

簡而言之,Base62x, 作爲無符號版本的Base64, 可以用在數字進制轉換,字符串編碼兩個方面,其中字符串編碼又進一步地細分為ASCII字符串和非ASCII字符串編碼

這次升級更新主要有如下幾點,備忘于此。

1. Base62x.class.js
增加JavaScript版本的Base62x的實現方法,在JavaScript的編程中可以直接調用該類庫進行編碼,更安全地傳輸非打印字符,如替換内置函數escape/uescape.

2. Base62x.class.jsp
完善對數字進制轉換的相關功能。
Base62x.encode(input, ibase);
Base62x.decode(input, obase);

3. base62x.class.php
完善和修正不等長數組處理函數的一處bug.
_decodeByLength

4. base62x.c
完善和修正了輸出數組聲明時的長度估算策略:
目標進制的字符串長度 = 源字符串長度 * log[源進制] / log[目標進制]

一些個Base62x的部署場景和應用實例。
a. URL4P:   -R/52SJ 
b. MobXPc:   -R/92SH 
c. gMIS:   -gMIS, FileName Encoding && Login Redirect

d. GWA2:   GWA2, Zea.class, encoding after Zip
e. iAD:    -R/72SH  , Url Redirect
f. ToolBar:   -R/u2SI , Url Encoding

g. Dot-Base62x:   -R/X2SH  
h. URLEncode:   -R/U2SI

上面各種短地址中的ID部分就是使用的Base62x進行編碼的數字.

-R/T2SJ 

© 著作权归作者所有

共有 人打赏支持
wadelau
粉丝 1
博文 12
码字总数 11973
作品 0
东城
高级程序员
JVM 即时编译器 - GraalVM

Graal — 新的 JVM 即时编译器 GraalVM 是新一代的高性能跨语言虚拟机,用于运行 JavaScript、Python 3、Ruby、R、基于 JVM 的语言,如 Java、Scala、Kotlin 和基于 LLVM 的语言,如 C 和 C+...

匿名 ⋅ 2014/09/29 ⋅ 2

hi-nginx-1.4.9 正式发布,支持 Javascript 后端开发

hi-nginx-1.4.9已经发布。 更新: 支持javascript后端开发 修复脚本搜索的一个bug 从这一版开始,hi-nginx开始支持javascript,这意味着把javascript应用于后端开发,将不再只有nodejs这唯一...

所以呢 ⋅ 05/14 ⋅ 0

GraalVM 社区版 1.0 RC2,新一代高性能跨语言虚拟机

GraalVM 社区版 1.0 RC2 已发布。 GraalVM 是新一代的高性能跨语言虚拟机,用于运行 JavaScript、Python 3、Ruby、R、基于 JVM 的语言,如 Java、Scala、Kotlin 和基于 LLVM 的语言,如 C 和...

局长 ⋅ 06/07 ⋅ 18

C、C++、Java、JavaScript、PHP、Python分别用来开发什么?

C、C++、Java、JavaScript、PHP、Python分别用来开发什么? 2018-05-25 11:47编辑: 游星啊分类:程序人生来源:代码湾 开发程序人生C 招聘信息: C++工程师 Cocos2d-x游戏客户端开发 iOS开发...

游星啊 ⋅ 05/25 ⋅ 0

React Native通信原理源码分析一

小伙伴们都知道在Android开发中实现Java和JS的通信可以通过WebView来实现,包括注册JSBridge或者在接口中拦截都可以。然而React Native中并没有用WebView控件的方式,而是基于WebKit内核的方...

juexingzhe ⋅ 04/08 ⋅ 0

React Native通信原理源码分析二

本篇文章已授权微信公众号 JueCode 独家发布 在上一篇中分析了Native调用JavaScript的原理,这一篇我们分析下JavaScript调用Native的原理。上一篇提到的内容这里就不重复了,建议小伙伴们先看...

juexingzhe ⋅ 04/16 ⋅ 0

学java还是javascript好?哪个更有前途?

  对于哪种语言好这种问题,其实并没有固定的答案,最重要的还是 兴趣!兴趣!兴趣!重要的事情说三遍。无论做什么开发,永远要以兴趣来驱动自己学习。 先大致的说一下,Java学习是一个需要...

W3Cschool小编 ⋅ 04/23 ⋅ 0

继 Java 版权案之后,甲骨文公司开始向 JavaScript 伸手!

就在 JavaScript 成为 GitHub 网站最为流行、越来越受到广大开发者热衷的编程语言之际,国外网站 reddit 的一篇求助性帖子引发行业内的热议。 帖子大意就是,该作者收到苹果公司的一封邮件,...

亦枫 ⋅ 04/19 ⋅ 0

swt browser控件与java交互

1、java调用browser页面里的js [javascript] view plain copy final Browser browser = new Browser(shell, SWT.FILL_WINDING); browser.evaluate("fun()");//fun是一个定义好的js函数 2、j......

xiaomin0322 ⋅ 06/12 ⋅ 0

Java的==、equals和JavaScript的===、==比较

之前QQ群里有人问过这样一个问题——Java中有===吗,我想了想,没有,会问这个问题,那他肯定学过JavaScript,毕竟===就是JavaScript里面的,于是,我说——Java中的==就相当于JavaScript中的...

Mthinkway ⋅ 2017/11/12 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JavaScript零基础入门——(八)JavaScript的数组

JavaScript零基础入门——(八)JavaScript的数组 欢迎大家回到我们的JavaScript零基础入门,上一节课我们讲了有关JavaScript正则表达式的相关知识点,便于大家更好的对字符串进行处理。这一...

JandenMa ⋅ 今天 ⋅ 0

sbt网络问题解决方案

转自:http://dblab.xmu.edu.cn/blog/maven-network-problem/ cd ~/.sbt/launchers/0.13.9unzip -q ./sbt-launch.jar 修改 vi sbt/sbt.boot.properties 增加一个oschina库地址: [reposit......

狐狸老侠 ⋅ 今天 ⋅ 0

大数据,必须掌握的10项顶级安全技术

我们看到越来越多的数据泄漏事故、勒索软件和其他类型的网络攻击,这使得安全成为一个热门话题。 去年,企业IT面临的威胁仍然处于非常高的水平,每天都会看到媒体报道大量数据泄漏事故和攻击...

p柯西 ⋅ 今天 ⋅ 0

Linux下安装配置Hadoop2.7.6

前提 安装jdk 下载 wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz 解压 配置 vim /etc/profile # 配置java环境变量 export JAVA_HOME=/opt/jdk1......

晨猫 ⋅ 今天 ⋅ 0

crontab工具介绍

crontab crontab 是一个用于设置周期性被执行的任务工具。 周期性执行的任务列表称为Cron Table crontab(选项)(参数) -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该...

Linux学习笔记 ⋅ 今天 ⋅ 0

深入Java多线程——Java内存模型深入(2)

5. final域的内存语义 5.1 final域的重排序规则 1.对于final域,编译器和处理器要遵守两个重排序规则: (1)在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用...

江左煤郎 ⋅ 今天 ⋅ 0

面试-正向代理和反向代理

面试-正向代理和反向代理 Nginx 是一个高性能的反向代理服务器,但同时也支持正向代理方式的配置。

秋日芒草 ⋅ 今天 ⋅ 0

Spring 依赖注入(DI)

1、Setter方法注入: 通过设置方法注入依赖。这种方法既简单又常用。 类中定义set()方法: public class HelloWorldOutput{ HelloWorld helloWorld; public void setHelloWorld...

霍淇滨 ⋅ 昨天 ⋅ 0

马氏距离与欧氏距离

马氏距离 马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为Σ的随机变量之间的差异程度。 如果协方差矩阵为单位矩阵,那么马氏距离就简化为欧氏距离,如果协方差矩阵为对角阵,则其也...

漫步当下 ⋅ 昨天 ⋅ 0

聊聊spring cloud的RequestRateLimiterGatewayFilter

序 本文主要研究一下spring cloud的RequestRateLimiterGatewayFilter GatewayAutoConfiguration @Configuration@ConditionalOnProperty(name = "spring.cloud.gateway.enabled", matchIfMi......

go4it ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部