function _to_utf8(s){var c,d="";for(var i=0;i<s.length;i++){c=s.charCodeAt(i);if(c<=0x7f){d+=s.charAt(i);}else if(c>=0x80&&c<=0x7ff){d+=String.fromCharCode(((c>>6)&0x1f)|0xc0);d+=String.fromCharCode((c&0x3f)|0x80);}else{d+=String.fromCharCode((c>>12)|0xe0);d+=String.fromCharCode(((c>>6)&0x3f)|0x80);d+=String.fromCharCode((c&0x3f)|0x80);}}
return d;}
function _from_utf8(s){var c,d="",flag=0,tmp;for(var i=0;i<s.length;i++){c=s.charCodeAt(i);if(flag==0){if((c&0xe0)==0xe0){flag=2;tmp=(c&0x0f)<<12;}else if((c&0xc0)==0xc0){flag=1;tmp=(c&0x1f)<<6;}else if((c&0x80)==0){d+=s.charAt(i);}else{flag=0;}}else if(flag==1){flag=0;d+=String.fromCharCode(tmp|(c&0x3f));}else if(flag==2){flag=3;tmp|=(c&0x3f)<<6;}else if(flag==3){flag=0;d+=String.fromCharCode(tmp|(c&0x3f));}else{flag=0;}}
return d;}
