小程序实现GBK编码数据转为Unicode/UTF8

时间:2023-11-24 20:59:14

首先,不存在一种计算算法将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