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
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