首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在JavaScript中编写base32_decode?

如何在JavaScript中编写base32_decode?
EN

Stack Overflow用户
提问于 2011-05-27 23:23:03
回答 4查看 8.1K关注 0票数 2

我正在尝试创建与PHP的解包等价物。我注意到PHPJS项目没有这个功能。我需要它来实现base32_encode和base32_decode (使用Crockford's alphabet '0123456789ABCDEFGHJKMNPQRSTVWXYZ')。

我在任何地方都找不到它,从它的对应版本来看,PHPJS's pack function我怀疑我的版本是否会在短期内完成并消除bug。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-05-30 14:43:35

事实证明,有人已经完成了编码和解码功能

https://github.com/agnoster/base32-js/blob/master/lib/base32.js

票数 1
EN

Stack Overflow用户

发布于 2019-08-11 19:28:16

代码语言:javascript
复制
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;
}
)()
票数 4
EN

Stack Overflow用户

发布于 2011-05-28 00:04:59

您可以修改JavaScript Base64 function以使用较小的字母表。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6154361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档