NPM酷库,每天两分钟,了解一个流行NPM库。·

在NPM酷库039中,我们认识到了iconv-lite库可以转换任意的字符编码到JavaScript内置的Unicode编码,以便于我们的程序和外部系统友好对接。但是如果我们不知道外部数据的编码,那么我们也就无法调用iconv-lite来进行转换。

jschardet

jschardet 可以识别出一个Buffer数据所使用的编码格式,具体支持的格式包括:

  • Big5, GB2312/GB18030, EUC-TW, HZ-GB-2312, and ISO-2022-CN (Traditional and Simplified Chinese)
  • EUC-JP, SHIFT_JIS, and ISO-2022-JP (Japanese)
  • EUC-KR and ISO-2022-KR (Korean)
  • KOI8-R, MacCyrillic, IBM855, IBM866, ISO-8859-5, and windows-1251 (Russian)
  • ISO-8859-2 and windows-1250 (Hungarian)
  • ISO-8859-5 and windows-1251 (Bulgarian)
  • windows-1252
  • ISO-8859-7 and windows-1253 (Greek)
  • ISO-8859-8 and windows-1255 (Visual and Logical Hebrew)
  • TIS-620 (Thai)
  • UTF-32 BE, LE, 3412-ordered, or 2143-ordered (with a BOM)
  • UTF-16 BE or LE (with a BOM)
  • UTF-8 (with or without a BOM)
  • ASCII

我们能方便地使用 jschardet 库:

const jschardet = require("jschardet");// "次常用國字標準字體表" 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 }

参考资料

https://github.com/aadsm/jsch...

NPM酷库040:jschardet,识别数据编码相关推荐

  1. NPM酷库:dotenv,从文件加载环境变量

    NPM酷库,每天两分钟,了解一个流行NPM库.· 我们经常需要Node.js程序运行时加载不同的配置,比如开发环境和生产环境的数据数据库配置就可能不一样,使用 process.env.DB_HOST ...

  2. NPM酷库:dateformat 时间字符串格式化

    NPM酷库,每天两分钟,了解一个流行NPM库. JavaScript中Date内置对象的toString() 方法可以将时间对象转换为字符串,但是转换后的格式是这个样子的: Thu Feb 01 20 ...

  3. NPM酷库:uuid,生成随机ID

    NPM酷库,每天两分钟,了解一个流行NPM库. 在中心化应用中,数据记录的ID往往是数据库生成的自增ID,但是在分布式应用中,就会存在一些问题: 保存数据之前就需要给数据标识ID 数据规模超级大,中央 ...

  4. NPM酷库:cheerio,服务端jQuery接口实现

    NPM酷库,每天两分钟,了解一个流行NPM库. jQuery 是前端DOM操作的利器,我们通过jQuery的接口可以方便地访问.修改DOM树中的节点和内容. 有时,在Node.js服务端,我们也需要类 ...

  5. php 数字货币格式化,NPM酷库:accounting,格式化数字和货币

    NPM酷库,每天两分钟,了解一个流行NPM库.· 上次,我们了解到如何使用numeral库格式化数字.今天我们继续认识另外一个用来格式化数字的库accounting. accounting accou ...

  6. NPM酷库:numeral,格式化数字

    NPM酷库,每天两分钟,了解一个流行NPM库.· JavaScript Core 并没有提供足够的数字变量格式化方式,而我们经常需要这样的操作,比如给数字加单位等,虽然需求简单,但是写起来还是要费一些 ...

  7. NPM酷库:globby,增强版的glob

    NPM酷库,每天两分钟,了解一个流行NPM库. 昨天,我们学习了一个新库 glob,用于模式匹配目录文件.今天,我们要了解的globby,是基于 glob,并进一步得到了增强了功能. globby 特 ...

  8. NPM酷库045:js-yaml,读写YAML

    NPM酷库,每天两分钟,了解一个流行NPM库.· 在NPM酷库044中,我们了解到了相对于JSON格式更加易于编写和维护的JSON5,今天我们继续学习另外一个更加简单易读的数据格式YAML. 下方就是 ...

  9. NPM酷库:ip,IP地址处理

    NPM酷库,每天两分钟,了解一个流行NPM库.· 今天我们来了解一个专门用来处理IP地址的库:ip,ip库能够获取本机IP地址.比较.转换.掩码/子网计算等各种和网络IP相关的操作: const ip ...

最新文章

  1. 机器学习算法加强——回归
  2. 计算机视觉应用的简称,计算机视觉应用之图像检索任务简单介绍
  3. ai边缘平滑_华为P40的多帧曝光AI智能处理,逆光也能无法阻挡你的美
  4. 第四范式陈雨强:做机器学习平台天然就是新基建丨新基建50人
  5. 如何兼容自训练与预训练:更高效的半监督文本分类模型
  6. 汽车穿越沙漠的算法问题(反推法)
  7. 架构 | 微服务架构下如何解耦,对于已经紧耦合下如何重构?
  8. RDD的几种创建方式
  9. Unity AssetBundle内存管理相关问题
  10. ORM框架greenDao 2 (用于了解旧版本的使用方法,目前最新版本为3.2.2,使用注释的方式来生成)...
  11. 2020 年开发者生态报告:Python超越Java,Go、Kotlin强势崛起
  12. c++数字转化为字符串、字符串转换为数字
  13. H265框架编码流程(一)
  14. 在线教育系统源码 知识付费系统源码 网络直播源码
  15. 事业单位资产管理系统广西某单位案例:实现资产动态全过程管理
  16. 搜狗输入法用户id非法,表情包无法搜到图片,显示异常.......
  17. 图数据库入门教程-深入学习Gremlin(1):图基本概念与操作
  18. 【NOIP2017】跳房子
  19. 学习js 正则表达式
  20. MTK6592的modem-1.ubuntu14.04下的编译烧写及调试

热门文章

  1. linux系统USB端口序号绑定,相同或不同设备厂家都可
  2. java笔记 自己用
  3. 固定资产会计处理过程
  4. [绍棠] iOS设置Label上显示不同字体大小和字体颜色
  5. DM8(达梦数据库)基于建库SQL生成ER图,基于ER图生成数据库文档
  6. 【 D3.js 入门系列 --- 10 】 地图的绘制
  7. html+css+布局从入门到精通,CSS+DIV网页样式布局实战从入门到精通 中文pdf扫描版[48MB]...
  8. 数值分析MOOC期中考试题目及答案(后十题)
  9. 南油 机器人_机器人创客-作文
  10. 信安易卫士1.33版更新及本人设置示例