Conversor De Bases //Repositório JavaScript

Descrição

Conversor de bases genérico, aceita como parâmetro o charset a ser usado na conversão.
Criado: 2005.10.02

Código (Download)

//+ Carlos R. L. Rodrigues
//@ http://jsfromhell.com/number/base-conversor [rev. #1]

Number.prototype.toBase = function(b, c){
    var s = "", n = this;
    if(b > (c = (c || "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz").split("")).length || b < 2) return "";
    while(n)
        s = c[n % b] + s, n = Math.floor(n / b);
    return s;
};
String.prototype.parseInt = function(b, c){
    var s = 0, n, l = (n = this.split("")).length, i = 0;
    if(b > (c = c || "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz").length || b < 2) return NaN;
    while(l--)
        s += c.indexOf(n[i++]) * Math.pow(b, l);
    return s;
};

Exemplo (Exemplo)

<script type="text/javascript">
//<![CDATA[

var c = "aZd292KVA_$*/+=3918f5";
document.write(
    "<h2>Default Charset</h2><h3>Number.toBase</h3>",
    "(255).toBase(2) = ", (255).toBase(2), "<br />",
    "(255).toBase(8) = ", (255).toBase(8), "<br />",
    "(255).toBase(10) = ", (255).toBase(10), "<br />",
    "(255).toBase(16) = ", (255).toBase(16), "<br />",
    
    "<h3>String.parseInt</h3>",
    "\"11111111\".parseInt(2) = ", "11111111".parseInt(2), "<br />",
    "\"377\".parseInt(8) = ", "377".parseInt(8), "<br />",
    "\"255\".parseInt(10) = ", "255".parseInt(10), "<br />",
    "\"FF\".parseInt(16) = ", "FF".parseInt(16), "<br />",
    
    "<h2>Different Charset</h2>",
    "Charset = ", c, "<h3>Number.toBase</h3>",
    "(12345678).toBase(21, Charset) = ", (12345678).toBase(21, c), "<br />",
    "<h3>String.parseInt</h3>",
    "\"2a$Z3_\".parseInt(21, Charset) = ", "2a$Z3_".parseInt(21, c), "<br />"
);

//    x.base, charSet)
//]]>
</script>

Ajuda

Métodos

Number.toBase(base: Integer, [charset: String = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"]): String
Codifica um número inteiro em string.
base
base em que o número deverá ser convertido (de 2 a charset.length)
charset
conjunto de caracteres que será usado na codificação
String.parseInt(base: Integer, [charset: String = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"]): Integer
Decodifica uma string em número inteiro.
base
base em que o número deverá ser traduzido (de 2 a charset.length)
charset
conjunto de caracteres que será usado na decodificação

Ranque (Votos: 13)

4.15