美文网首页
weex中文转UTF8

weex中文转UTF8

作者: 异乡人_4f2a | 来源:发表于2019-07-08 09:56 被阅读0次

EncodeUtf8(s1)  {

                        var s = escape(s1);

                        var sa = s.split("%");

                        var retV ="";

                        if(sa[0] != "")

                        {

                            retV = sa[0];

                        }

                        for(var i = 1; i < sa.length; i ++)

                        {

                            if(sa[i].substring(0,1) == "u")

                            {

                                var str = this.Str2Hex(sa[i].substring(1,5))

                                retV += this.Hex2Utf8(str);

                            }

                            else retV += "%" + sa[i];

                        }

                        return retV;

                    },

                    Str2Hex(s)  {

                        var c = "";

                        var n;

                        var ss = "0123456789ABCDEF";

                        var digS = "";

                        for(var i = 0; i < s.length; i ++)

                        {

                            c = s.charAt(i);

                            n = ss.indexOf(c);

                            digS += this.Dec2Dig(eval(n));

                        }

                        //return value;

                        return digS;

                    },

                    Dec2Dig(n1)  {

                        var s = "";

                        var n2 = 0;

                        for(var i = 0; i < 4; i++)

                        {

                            n2 = Math.pow(2,3 - i);

                            if(n1 >= n2)

                            {

                                s += '1';

                                n1 = n1 - n2;

                            }

                            else

                            s += '0';

                        }

                        return s;

                    },

                    Dig2Dec(s)   {

                        var retV = 0;

                        if(s.length == 4)

                        {

                            for(var i = 0; i < 4; i ++)

                            {

                                retV += eval(s.charAt(i)) * Math.pow(2, 3 - i);

                            }

                            return retV;

                        }

                        return -1;

                    },

                    Hex2Utf8(s) {

                        var retS = "";

                        var tempS = "";

                        var ss = "";

                        if(s.length == 16)

                        {

                            tempS = "1110" + s.substring(0, 4);

                            tempS += "10" +  s.substring(4, 10);

                            tempS += "10" + s.substring(10,16);

                            var sss = "0123456789ABCDEF";

                            for(var i = 0; i < 3; i ++)

                            {

                                retS += "%";

                                ss = tempS.substring(i * 8, (eval(i)+1)*8);

                                retS += sss.charAt(this.Dig2Dec(ss.substring(0,4)));

                                retS += sss.charAt(this.Dig2Dec(ss.substring(4,8)));

                            }

                            return retS;

                        }

                        return "";

                    },

相关文章

网友评论

      本文标题:weex中文转UTF8

      本文链接:https://www.haomeiwen.com/subject/ippnhctx.html