首先,不存在一种计算算法将GBK编码转换为Unicode编码,因为这两套编码本身毫无关系。
要想实现两者之间的互转,只能通过查表法实现。
在浏览器中实现编码转换,只需要简单两句:
var x = new Uint8Array([0xC4,0xE3,0xBA,0xC3]);
var str =new TextDecoder('gbk').decode(x);
由于小程序是阉割的web环境,并不支持TextDecoder,可以通过第三方实现达到目的:
https://github.com/inexorabletash/text-encoding
var uint8array = new TextEncoder().encode(string);
var string = new TextDecoder(encoding).decode(uint8array);
限于小程序体积,我们可以只提取出需要的gbk码表,下载地址:
https://download.csdn.net/download/hi49603917/10878217