-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方法
簡而言之,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進行編碼的數字.