JSFiddle - React, Tailwind, and code Playground

by russau

JavaScript

var hex = base32tohex('BQ2B4TZ6NNIF22TD2HSH32BYVU');
$('body').append('<br>');
$('body').append(hex);


    function base32tohex(base32) {
        var base32chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";
//                         012345678901234567890
        var bits = "";
        var hex = "";

        for (var i = 0; i < base32.length; i++) {
            var val = base32chars.indexOf(base32.charAt(i).toUpperCase());
            var fbits = leftpad(val.toString(2), 5, '0');
             bits += fbits;
        }

        

        $('body').append(bits);        
        $('body').append('<br>');
        
        for (var i = 0; i < bits.length; i+=4) {
            var chunk = bits.substr(i, 4);
console.log("c" + chunk);
            hex = parseInt(chunk, 2).toString(16) + hex;
        }
        return hex;
    }

    function leftpad(str, len, pad) {
        if (len + 1 >= str.length) {
            str = Array(len + 1 - str.length).join(pad) + str;
        }
        return str;
    }