代码拉取完成,页面将自动刷新
Chardet 是一个检测文本编码的库,移植自npm两千多万下载量的同名包。
ohpm install @changwei/chardet
返回最可能的字符编码
import * as chardet from '@changwei/chardet';
import fs from '@ohos.file.fs'
let file=fs.openSync('/path/to/file',fs.OpenMode.READ_ONLY);
let arrayBuffer=new ArrayBuffer(1024);//读取文本文件内容
let readLen = fs.readSync(file.fd, arrayBuffer,{
offset: 0,
length: arrayBuffer.length
});
//提取前512个字节内容以提高性能,长文本建议这样做
let charset = chardet.detect(new Uint8Array(arrayBuffer, 0, 512));
// or
const encoding = await chardet.detectFile('/path/to/file');
// or
const encoding = chardet.detectFileSync('/path/to/file');
使用analyse
方法分析所有字符编码的可能性,结果返回列表
chardet.analyse(new Uint8Array(arrayBuffer, 0, 512));
返回值格式如下:
[
{ confidence: 90, name: 'UTF-8' },
{ confidence: 20, name: 'windows-1252', lang: 'fr' },
];
目前支持以上编码,注意gb18030兼容gbk和gb2312.
本项目基于 MIT ,请自由地享受和参与开源。
B站 @Changwei同学
抖音/西瓜 @梦断代码
求点赞 求关注 求分享
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。