OpenHarmony Jchardet组件简介及使用方法

简介
jchardet是openatom openharmony(以下简称“openharmony”)系统的一款检测文本编码的组件。当上传一个文件时,组件可以检测并输出该文件中文本使用的编码方式。
支持的编码格式有:ascii编码、utf-8编码、utf-16le编码、shift-jis编码、iso-2022-jp编码、iso-2022-cn编码、iso-2022-kr编码、big5编码、utf-16be编码、x-euc-tw编码、euc-kr编码、ecu-jp编码、gb18030编码、hz-gb-2312编码、windows-1252编码、gb2312编码。
开发环境
安装ide:支持deveco studio 3.0 release(build version 3.0.0.993)版本。
安装sdk:openharmony api version 8及以上版本。
使用方法
需要先配置openharmony npm仓,请参考安装教程
https://gitee.com/openharmony-tpc/docs/blob/master/openharmony_npm_usage.md  
(左右移动查看全部内容)
1、下载jchardet组件
npm install @ohos/jchardet –-save  
(左右移动查看全部内容)
2、在page页面导入。
import {nsicharsetdetectionobserver,nsdetector,nspsmdetector} from '@ohos/jchardet/  
(左右移动查看全部内容)
3、初始化编码检测器。
//lang为输入的语言种类    //0 => all    //1 => japanese    //2 => chinese    //3 => simplified chinese    //4 => traditional chinese    //5 => korean    //6 => dont know (default)let det: nsdetector = new nsdetector(lang);  
(左右移动查看全部内容)
4、在检测器的初始化函数中定义回调函数,接受编码检测结果。
det.init(new class implements nsicharsetdetectionobserver {          notify(charset: string): void {          console.log(charset = + charset);          } })  
(左右移动查看全部内容)
4.1 向编码检测器提供数据,首选判断是否ascii编码,如果是ascii编码,则程序结束。
let bytedata = new int8array(buf); //buf为文件的arraybufferlet isascii:boolean = det.isascii(bytedata);  
(左右移动查看全部内容)
4.2 如果检测到某一种编码,则进去初始化时定义的回调,程序结束。
let done:boolean = det.doit(bytedata, false);  
(左右移动查看全部内容)
4.3 如果检测到多种编码,则获取编码列表,程序结束。
let prob: array = det.getprobablecharsets();  
(左右移动查看全部内容)
结语
通过本篇文章介绍,您对openharmony jchardet组件应该有了初步的了解。我们所有的源码和指导文档都已经开源,如果您对本篇文章内容以及所实现的demo感兴趣,可以根据本篇文章介绍自行下载openharmony jchardet源码(https://gitee.com/openharmony-sig/jchardet)进行研究和使用。同时也欢迎更多开发者与我们共享开发成果,分享技术解读与经验心得。
作者:程龙涛,润和软件开发工程师


丰田砸一亿美元强势进军人工智能和机器人领域
电子工程师解答电路设计、元器件选型等问题
电抗变压器工作原理
基于四路LED驱动器驱动的解决方案
情感语音识别技术的挑战和未来发展
OpenHarmony Jchardet组件简介及使用方法
NS6322B 4-30V输入、输出同步降压稳压器
虹科分享 | IOTA网络性能监控 | 如何有效分析VoIP问题
版本、变体和其他的基础定义
altium designer哪个版本稳定
长城、华为、比亚迪,车企高管共话成都车展
什么是“三电系统”和“电驱系统”? IGBT模块结构和汽车IGBT模块应用
AMD锐龙11月德国销量份额达到82% 越来越有“摧枯拉朽”之势
人工智能的落地有四个重要的环节需要解决
华南国际工业博览会在深圳国际会展中心圆满闭幕
微特技术起重机在线故障诊断多维度分析系统
智能家居的误区你有没有中
怎样选择保险丝才保险?
联想展示全球首台5G笔记本电脑Yoga 5G,搭载高通骁龙8cx 5G处理器
深维科技携图像加速新方案亮相深圳LiveVideoStackCon 2019