微信小程序utf8转gbk编码完整示例,不用text-encoding
时间: 2023-07-13 15:40:45 浏览: 204
如果不想使用text-encoding库,也可以手动实现UTF-8和GBK之间的编码转换。
以下是一个示例代码,将UTF-8编码的字符串转换成GBK编码的字符串:
```
function utf8ToGbk(utf8Str) {
let gbkStr = '';
for (let i = 0; i < utf8Str.length; i++) {
let charCode = utf8Str.charCodeAt(i);
if (charCode < 0x80) {
gbkStr += String.fromCharCode(charCode);
} else if (charCode < 0x800) {
gbkStr += String.fromCharCode((charCode >> 6) | 0xc0);
gbkStr += String.fromCharCode((charCode & 0x3f) | 0x80);
} else {
gbkStr += String.fromCharCode((charCode >> 12) | 0xe0);
gbkStr += String.fromCharCode(((charCode >> 6) & 0x3f) | 0x80);
gbkStr += String.fromCharCode((charCode & 0x3f) | 0x80);
}
}
return gbkStr;
}
```
使用方法:
```
let gbkStr = utf8ToGbk('你好,世界!');
console.log(gbkStr); // 输出:鍏ㄥぉ锛佽鍥�!
```
这种方法的原理是,UTF-8编码中一个字符可能由1到3个字节组成,而GBK编码中一个字符只有2个字节。因此,需要根据UTF-8编码中每个字符的字节数,将其转换成对应的GBK编码。
阅读全文