TextEncoder,TextDecoder在IE9或低版本浏览器中兼容

微信小程序和低版本浏览器并不支持新的TextEncoder和TextDecoder,但是可以用其他的方式来做到相同的事情。

TextEncoder:

var encoder = new TextEncoder();
      encoder.encode("中文abc");
//result : Uint8Array(9) [228, 184, 173, 230, 150, 135, 97, 98, 99]

兼容写法:

unescape(encodeURIComponent("中文abc")).split("").map(val => val.charCodeAt());
//result : (9) [228, 184, 173, 230, 150, 135, 97, 98, 99]

对比可以发现数组内的内容是一样的,由此可知道TextDecoder的兼容写法。

TextDecoder:

var decoder = new TextDecoder();
      decoder.decode(Uint8Array.from([228, 184, 173, 230, 150, 135, 97, 98, 99]));
//result : 中文abc

兼容写法:

decodeURIComponent(escape(String.fromCharCode(...[228, 184, 173, 230, 150, 135, 97, 98, 99])));
//result : 中文abc
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,148评论 1 32
  • 前端开发面试题 面试题目: 根据你的等级和职位的变化,入门级到专家级,广度和深度都会有所增加。 题目类型: 理论知...
    怡宝丶阅读 2,611评论 0 7
  • 前端开发知识点 HTML&CSS对Web标准的理解、浏览器内核差异、兼容性、hack、CSS基本功:布局、盒子模型...
    Hebborn_hb阅读 852评论 0 1
  • 我在公交车上认识一只小兔子。 在公交车最后一排的小角落里。 我看到他的时候,他背着一个行李,身体蜷缩一团。我猜想这...
    布谷卢金先生阅读 1,042评论 0 0
  • 一切还算顺利。11月23日,我和永州江华广播电视台新闻中心的主任一同坐车,来到了江华;11月24日到今天,我已经待...
    白小白0202阅读 328评论 0 0