为什么没有浏览器相关api,搞得我想改个字符串编码gbk,都不行
/**
* @param {string} str
*/
function stringToGBK(str) {
var result = '';
for (var i = 0; i < str.length; i++) {
var char = str.charAt(i);
var code = str.charCodeAt(i);
// 如果字符属于ASCII范围
if (code <= 0x7F) {
result += encodeURIComponent(char).substr(1).toUpperCase();
}
// 否则,按GBK编码规则进行转换
else {
var byteStr = code.toString(16).toUpperCase();
while (byteStr.length < 4) {
byteStr = '0' + byteStr;
}
var byte1 = parseInt(byteStr.substr(0, 2), 16);
var byte2 = parseInt(byteStr.substr(2, 2), 16);
result += '%' + byte1.toString(16).toUpperCase();
result += '%' + byte2.toString(16).toUpperCase();
}
}
return result;
}
var str = "你好,世界!";
var gbkStr = stringToGBK(str);
console.log(gbkStr);
你是想转gbk然后传给后端吗?没有转换那个api
对,主要那网站太老了,用gbk
我这有个方法,不过这个方法不完善有点问题,要完善的去网上找几十几百K的库,然后用function的形式。