javascript - 如何用JavaScript编写base32_decode?

标签 javascript unpack phpjs

我正在尝试创建相当于 PHP 的解包。我注意到 PHPJS 项目没有它。我需要它来实现base32_encode和base32_decode(使用Crockford's alphabet'0123456789ABCDEFGHJKMNPQRSTVWXYZ')。

我在任何地方都找不到它,从它的对应版本 PHPJS's pack function 来看,我怀疑我的版本很快就会完整且没有错误。

最佳答案

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;
}
)()

关于javascript - 如何用JavaScript编写base32_decode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6154361/

相关文章:

ruby - 在 Ruby 中打包/解包和 base64

c# - 从使用 Excel-DNA 构建的 Excel .XLL 文件中解压内容

php - 相当于 PHP preg_split() 的 JavaScript

javascript - Dygraphs - 同步缩放

PHP 将字节字符串转换为整数

php - preg_match_all 等效于 JS?

javascript - jquery each() 不会遍历新添加的表行

javascript - Jasmine toHaveBeenCalledWith 部分匹配

javascript - 为什么我的 Angular 代码不起作用?