关于android的RN项目XMLHttpRequest请求的中文参数编码转换问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xsb_20171227/article/details/86487724

如果XMLHttpRequest请求一个utf8编码的网站的话,中文可以使用js中的encodeURIComponent()方法进行转码

下面说一下请求gbk网站时,对中文的转码方法:

_encode(str, charset) {
        //得到中文的gbk二进制数组
        var buf = iconvLite.encode(str, charset);
        var encodeStr = '';
        var ch = '';
        //将数组中的每一个元素转换成16进制,转换后的长度小于2的在前面加0,然后用%拼接
        for (var i = 0; i < buf.length; i++) {
            ch = buf[i].toString('16');
            if (ch.length === 1) {
                ch = '0' + ch;
            }
            encodeStr += '%' + ch;
        }
        encodeStr = encodeStr.toUpperCase();
        return encodeStr;
    }

如果上面还不能解决需要的话可以看看下面这个链接
https://segmentfault.com/a/1190000006919102

猜你喜欢

转载自blog.csdn.net/xsb_20171227/article/details/86487724