Conversor UTF-8 //Repositório JavaScript

Descrição

Converte sequência de caracteres ANSI para UTF-8 e vice-versa.
Criado: 2007.10.07

Código (Download)

//+ Jonas Raoni Soares Silva
//@ http://jsfromhell.com/geral/utf-8 [rev. #1]

UTF8 = {
    encode: function(s){
        for(var c, i = -1, l = (s = s.split("")).length, o = String.fromCharCode; ++i < l;
            s[i] = (c = s[i].charCodeAt(0)) >= 127 ? o(0xc0 | (c >>> 6)) + o(0x80 | (c & 0x3f)) : s[i]
        );
        return s.join("");
    },
    decode: function(s){
        for(var a, b, i = -1, l = (s = s.split("")).length, o = String.fromCharCode, c = "charCodeAt"; ++i < l;
            ((a = s[i][c](0)) & 0x80) &&
            (s[i] = (a & 0xfc) == 0xc0 && ((b = s[i + 1][c](0)) & 0xc0) == 0x80 ?
            o(((a & 0x03) << 6) + (b & 0x3f)) : o(128), s[++i] = "")
        );
        return s.join("");
    }
};

Exemplo (Exemplo)

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

var s = "a????e";
document.write(
    ('UTF8.encode("' + s + '") = ').bold(), UTF8.encode(s), "<br />",
    ('UTF8.decode(UTF8.encode("' + s + '"))) = ').bold(), UTF8.decode(UTF8.encode(s))
);

//]]>
</script>

Ajuda

UTF8.encode(s: String): String
Converte de ANSI para UTF-8
s
string a ser convertida
UTF8.decode(s: String): String
Converte de UTF-8 para ANSI
s
string a ser convertida

Ranque (Votos: 106)

4.10