我正在尝试创建相当于PHP的解包。我注意到PHPJS没有这个项目。我需要它来实现base32_encode和base32_decode(使用Crockford's alphabet'0123456789ABCDEFGHJKMNPQRSTVWXYZ')。
我无法在任何地方找到它,并从它的同行判断,PHPJS's pack function我怀疑我的版本将很快完成并且没有错误。
答案 0 :(得分:1)
这个怎么样?看起来它会让你在那里一半。
http://forthescience.org/blog/2010/11/30/base32-encoding-in-javascript/
答案 1 :(得分:1)
事实证明有人已经完成了编码和解码功能
https://github.com/agnoster/base32-js/blob/master/lib/base32.js
答案 2 :(得分:1)
base32tohex = (function() {
var dec2hex = function(s) {
return (s < 15.5 ? "0" : "") + Math.round(s).toString(16)
}
, hex2dec = function(s) {
return parseInt(s, 16)
}
, base32tohex = function(base32) {
for (var base32chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567", bits = "", hex = "", i = 0; i < base32.length; i++) {
var val = base32chars.indexOf(base32.charAt(i).toUpperCase());
bits += leftpad(val.toString(2), 5, "0")
}
for (i = 0; i + 4 <= bits.length; i += 4) {
var chunk = bits.substr(i, 4);
hex += parseInt(chunk, 2).toString(16)
}
return hex
}
, leftpad = function(str, len, pad) {
return len + 1 >= str.length && (str = new Array(len + 1 - str.length).join(pad) + str),
str
};
return base32tohex;
}
)()
答案 3 :(得分:0)
您可以修改JavaScript Base64 function以使用较小的字母。