Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

自带的编码转换 TextEncoder/TextDecode

  目前最新版的Chrome和Firefox都支持了一套用于编码转换的API:TextEncoder和TextDecode。在此之前我们都需要自己写算法来手动编码。而编码函数本身没有太多问题,最主要就是看性能。这回浏览器提供的编码API没有辜负我们的期望,确实很快!
  至于它们如何使用,我想就不必详细介绍了吧,new一个实例出来自然就明白。这里主要做性能测试,下面是测试代码:
<base href="http://www.web-tinker.com/share/" />
<script src="performance.js"></script>
<script src="encodeUTF8.js"></script>
<button>myEncoder.encodeUTF8(data)</button>
<button>utf8encoder.encode(data)</button>
<script>
//测试数据
var data=Array(10000).join("次碳酸钴");
//浏览器自带的方法
var utf8encoder=new TextEncoder("utf-8");
//手动编码
var myEncoder={encodeUTF8:encodeUTF8};
</script>

  这性能完爆手动编码吧,手动编码方式以后可能只能作为它的一种polyfill了。另外,上面的测试用了较大的测试数据。如果换成小数据的话在Chrome上的性能会不如手动编码方式,比如下面这样的测试: <base href="http://www.web-tinker.com/share/" />
<script src="performance.js"></script>
<script src="encodeUTF8.js"></script>
<button>myEncoder.encodeUTF8(data)</button>
<button>utf8encoder.encode(data)</button>
<script>
//测试数据
var data="次碳酸钴";
//浏览器自带的方法
var utf8encoder=new TextEncoder("utf-8");
//手动编码
var myEncoder={encodeUTF8:encodeUTF8};
</script>
网名:
54.226.58.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^