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 }
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。