脚本宝典收集整理的这篇文章主要介绍了javascript代码实例教程-Node.js 编码转换,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。 Node.js自带的toString()方法不支持gbk,因此中文转换的时候需要加载第三方库,推荐以下两个编码转换库,iconv-lITe和encoding。
iconv, iconv-lite和encoding是什么?
iconv:是在类Unix系统中一种标准字符集转换接口,用于在不同字符集编码之间进行转换,最早出现在HP-UX系统中。
iconv-lite:是iconv的纯js实现,支持的编码包括node.js原生编码:utf8, ucs2, ascii, binary, base64;同时支持广泛使用的单字节编码:Windows 125x family, ISO-8859 family, IBM/DOS codepages, Macintosh family, KOI8 family, latin1, us-ascii;多字节编码:gbk, gb2313, Big5, cp950。官方宣称比node-iconv更快。
encoding:是对node-iconv和iconv-lite的再次封装,encoding首先调用node-iconv,如果node-iconv无法解析,则调用iconv-lite作为替代方案。
iconv-lite安装使用
1. 安装
$ npm install iconv-lite
2. 使用
VAR iconv = require('iconv-lite');
// Convert From an encoded buffer to js string.
str = iconv.decode(buf, 'win1251');
// Convert from js string to an encoded buffer.
buf = iconv.encode("Sample input string", 'win1251');
// Check if encoding is supported
iconv.encodingExists("us-ascii")
复制代码
3. iconv-lite和node-iconv的性能对比
operation iconv@1.2.4 iconv-lite@0.2.4
----------------------------------------------------------
encode('win1251') ~115 Mb/s ~230 Mb/s
decode('win1251') ~95 Mb/s ~130 Mb/s
encoding安装使用
1. 安装
$ npm install encoding
2. 使用
encoding模块就一个方法convert(),使用方法为:encoding.convert(text, toCharset, fromCharset)。
text: 需要转换的对象,可以为Buffer或者String对象。
toCharset: 转换后的编码。
fromCharset: 转换前的编码,缺省为uft8。
转换后的输入结果为Buffer对象。
var encoding = require('encoding');
var result = encoding.convert("Õ&AuML;ÖÜ", "Latin_1");
console.LOG(result); //<Buffer d5 c4 d6 dc>
番外篇:jschardet
什么是jschardet?
jschardet是由António Afonso从Python的chardet移植到Javascript的jschardet。
1. 安装
$ npm install jschardet
2. 使用
var jschardet = require("jschardet")
// "àíàçã" in UTF-8
jschardet.detect("/xc3/xa0/xc3/xad/xc3/xa0/xc3/xa7/xc3/xa3")
// { encoding: "utf-8", confidence: 0.9690625 }
// "次常用首煮w表" in Big5
jschardet.detect("/xa6/xb8/xb1/x60/xa5/xce/xb0/xea/xa6/x72/xbc/xd0/xb7/xc7/xa6/x72/xc5/xe9/xaa/xed")
// { encoding: "Big5", confidence: 0.99 }
觉得可用,就经常来吧! 脚本宝典 欢迎评论哦! js脚本,巧夺天工,精雕玉琢。小宝典献丑了!
以上是脚本宝典为你收集整理的javascript代码实例教程-Node.js 编码转换全部内容,希望文章能够帮你解决javascript代码实例教程-Node.js 编码转换所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。