javascript代码实例教程-Node.js 编码转换

发布时间:2019-02-14 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了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,请注明来意。