簡介
Jchardet是OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)系統(tǒng)的一款檢測文本編碼的組件。當(dāng)上傳一個文件時,組件可以檢測并輸出該文件中文本使用的編碼方式。
支持的編碼格式有: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編碼。
開發(fā)環(huán)境
安裝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
(左右移動查看全部內(nèi)容)
1、下載jchardet組件
npm install @ohos/jchardet –-save
(左右移動查看全部內(nèi)容)
2、在page頁面導(dǎo)入。
import {nsICharsetDetectionObserver, nsDetector,nsPSMDetector} from '@ohos/jchardet/
(左右移動查看全部內(nèi)容)
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);
(左右移動查看全部內(nèi)容)
4、在檢測器的初始化函數(shù)中定義回調(diào)函數(shù),接受編碼檢測結(jié)果。
det.Init(new class implements nsICharsetDetectionObserver { Notify(charset: string): void { console.log("CHARSET = " + charset); } })
(左右移動查看全部內(nèi)容)
4.1 向編碼檢測器提供數(shù)據(jù),首選判斷是否Ascii編碼,如果是Ascii編碼,則程序結(jié)束。
let byteData = new Int8Array(buf);//buf為文件的ArrayBuffer let isAscii:boolean = det.isAscii(byteData);
(左右移動查看全部內(nèi)容)
4.2 如果檢測到某一種編碼,則進去初始化時定義的回調(diào),程序結(jié)束。
let done:boolean = det.DoIt(byteData, false);
(左右移動查看全部內(nèi)容)
4.3 如果檢測到多種編碼,則獲取編碼列表,程序結(jié)束。
let prob: Array= det.getProbableCharsets();
(左右移動查看全部內(nèi)容)
結(jié)語
通過本篇文章介紹,您對OpenHarmony Jchardet組件應(yīng)該有了初步的了解。我們所有的源碼和指導(dǎo)文檔都已經(jīng)開源,如果您對本篇文章內(nèi)容以及所實現(xiàn)的Demo感興趣,可以根據(jù)本篇文章介紹自行下載OpenHarmony Jchardet源碼(https://gitee.com/openharmony-sig/jchardet)進行研究和使用。同時也歡迎更多開發(fā)者與我們共享開發(fā)成果,分享技術(shù)解讀與經(jīng)驗心得。
作者:程龍濤,潤和軟件開發(fā)工程師
審核編輯:湯梓紅
-
編碼
+關(guān)注
關(guān)注
6文章
942瀏覽量
54829 -
組件
+關(guān)注
關(guān)注
1文章
512瀏覽量
17826 -
OpenHarmony
+關(guān)注
關(guān)注
25文章
3722瀏覽量
16317
原文標(biāo)題:Jchardet:支持檢測并輸出文件編碼方式的組件
文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發(fā)燒友開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論