簡介
Jchardet是OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)系統(tǒ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
1. 下載jchardet組件
npminstall@ohos/jchardet–-save2. 在page頁面導(dǎo)入。
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) letdet:nsDetector=newnsDetector(lang);4. 在檢測器的初始化函數(shù)中定義回調(diào)函數(shù),接受編碼檢測結(jié)果。
det.Init(new class implements nsICharsetDetectionObserver { Notify(charset: string): void { console.log("CHARSET = " + charset); } })4.1 向編碼檢測器提供數(shù)據(jù),首選判斷是否Ascii編碼,如果是Ascii編碼,則程序結(jié)束。
let byteData = new Int8Array(buf);//buf為文件的ArrayBuffer letisAscii:boolean=det.isAscii(byteData);4.2 如果檢測到某一種編碼,則進去初始化時定義的回調(diào),程序結(jié)束。
letdone:boolean=det.DoIt(byteData,false);4.3 如果檢測到多種編碼,則獲取編碼列表,程序結(jié)束。
letprob:Array=det.getProbableCharsets();
結(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)驗心得。
-
編碼
+關(guān)注
關(guān)注
6文章
940瀏覽量
54813 -
SDK
+關(guān)注
關(guān)注
3文章
1035瀏覽量
45899 -
OpenHarmony
+關(guān)注
關(guān)注
25文章
3713瀏覽量
16253
原文標題:Jchardet——支持檢測并輸出文件編碼方式的組件
文章出處:【微信號:gh_e4f28cfa3159,微信公眾號:OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論