浏览器如何实现字符串编码转换
在处理某些数据时,文件里存储的字符串 还是 GB2312编码,在前端读取显示成了乱码。 之前在服务端使用的 iconv-lite ,但是在浏览器上直接使用不行,因为他使用了 Buffer。其实现代浏览器自身已经提供了相关函数。
/**
* Convert an Uint8Array into a string.
* @param {Uint8Array}arr
* @returns {String}
*/
function Decodeuint8arr(arr){
return new TextDecoder("gb2312").decode(arr);
}
/**
* Convert a string into a Uint8Array.
* @param {String}szStr
* @returns {Uint8Array}
*/
function Encodeuint8arr(szStr){
return new TextEncoder("gb2312").encode(szStr);
}