- 01
 - 02
 - 03
 - 04
 - 05
 - 06
 - 07
 - 08
 - 09
 - 10
 - 11
 - 12
 - 13
 - 14
 - 15
 - 16
 
                        UTF8 = {
    encode: function(str){
        for(var c:String, i:Number = -1, l:Number = (str = str.split("")).length, o:Function = String.fromCharCode; ++i < l;
            str[i] = (c = str[i].charCodeAt(0)) >= 127 ? o(0xc0 | (c >>> 6)) + o(0x80 | (c & 0x3f)) : str[i]
        );
        return str.join("");
    },
    decode: function(str){
        for(var a:Array, b:Array, i:Number = -1, l:Number = (str = str.split("")).length, o:Function = String.fromCharCode, c:String = "charCodeAt"; ++i < l;
            ((a = str[i][c](0)) & 0x80) &&
            (str[i] = (a & 0xfc) == 0xc0 && ((b = str[i + 1][c](0)) & 0xc0) == 0x80 ?
            o(((a & 0x03) << 6) + (b & 0x3f)) : o(128), str[++i] = "")
        );
        return str.join("");
    }
};
                                     
        
            Это чудо народного зодчества было предложено в качестве конвертора из ASCII в UTF8 и обратно. Проблема осложняется тем, что человек так делает в полной уверенности, что он что-то соптимизировал. (Ну и конечно, китайцы со своими иероглифами, как всегда в пролете, а так же французы со своими диакритиками, поляки, немцы и т.д.). То что страдает типизация и инкапсуляция, просто меркнет перед форматированием и полным отсутствием здравого смысла.
http://www.kirupa.com/forum/showthread.php?t=351816