簡(jiǎn)介
Jchardet是OpenAtom OpenHarmony(以下簡(jiǎn)稱“OpenHarmony”)系統(tǒng)的一款檢測(cè)文本編碼的組件。當(dāng)上傳一個(gè)文件時(shí),組件可以檢測(cè)并輸出該文件中文本使用的編碼方式。
支持的編碼格式有: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倉(cāng),請(qǐng)參考安裝教程
https://gitee.com/openharmony-tpc/docs/blob/master/OpenHarmony_npm_usage.md
1. 下載jchardet組件
npminstall@ohos/jchardet–-save2. 在page頁(yè)面導(dǎo)入。
import {nsICharsetDetectionObserver, nsDetector,nsPSMDetector}from'@ohos/jchardet/3. 初始化編碼檢測(cè)器。
//lang為輸入的語(yǔ)言種類 //0 => All //1 => Japanese //2 => Chinese //3 => Simplified Chinese //4 => Traditional Chinese //5 => Korean //6 => Dont know (default) letdet:nsDetector=newnsDetector(lang);4. 在檢測(cè)器的初始化函數(shù)中定義回調(diào)函數(shù),接受編碼檢測(cè)結(jié)果。
det.Init(new class implements nsICharsetDetectionObserver { Notify(charset: string): void { console.log("CHARSET = " + charset); } })4.1 向編碼檢測(cè)器提供數(shù)據(jù),首選判斷是否Ascii編碼,如果是Ascii編碼,則程序結(jié)束。
let byteData = new Int8Array(buf);//buf為文件的ArrayBuffer letisAscii:boolean=det.isAscii(byteData);4.2 如果檢測(cè)到某一種編碼,則進(jìn)去初始化時(shí)定義的回調(diào),程序結(jié)束。
letdone:boolean=det.DoIt(byteData,false);4.3 如果檢測(cè)到多種編碼,則獲取編碼列表,程序結(jié)束。
letprob:Array=det.getProbableCharsets();
結(jié)語(yǔ)
通過本篇文章介紹,您對(duì)OpenHarmony Jchardet組件應(yīng)該有了初步的了解。我們所有的源碼和指導(dǎo)文檔都已經(jīng)開源,如果您對(duì)本篇文章內(nèi)容以及所實(shí)現(xiàn)的Demo感興趣,可以根據(jù)本篇文章介紹自行下載OpenHarmony Jchardet源碼(https://gitee.com/openharmony-sig/jchardet)進(jìn)行研究和使用。同時(shí)也歡迎更多開發(fā)者與我們共享開發(fā)成果,分享技術(shù)解讀與經(jīng)驗(yàn)心得。
-
編碼
+關(guān)注
關(guān)注
6文章
942瀏覽量
54826 -
SDK
+關(guān)注
關(guān)注
3文章
1036瀏覽量
45936 -
OpenHarmony
+關(guān)注
關(guān)注
25文章
3722瀏覽量
16313
原文標(biāo)題:Jchardet——支持檢測(cè)并輸出文件編碼方式的組件
文章出處:【微信號(hào):gh_e4f28cfa3159,微信公眾號(hào):OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
鴻蒙開發(fā)OpenHarmony組件復(fù)用案例
OpenHarmony開源項(xiàng)目介紹
介紹幾種OpenHarmony 開源軟件設(shè)計(jì)
【學(xué)習(xí)打卡】OpenHarmony的TextClock組件介紹
網(wǎng)絡(luò)組件axios可以在OpenHarmony上使用了
Jchardet——支持檢測(cè)并輸出文件編碼方式的組件
OpenHarmony組件復(fù)用示例
OpenHarmony自定義組件:ClearableInput和Keyboard
![<b class='flag-5'>OpenHarmony</b>自定義<b class='flag-5'>組件</b>:ClearableInput和Keyboard](https://file.elecfans.com/web2/M00/36/9C/pYYBAGI0M3mAc04qAAAlXDoi6kQ387.jpg)
OpenHarmony自定義組件FlowImageLayout
![<b class='flag-5'>OpenHarmony</b>自定義<b class='flag-5'>組件</b>FlowImageLayout](https://file.elecfans.com/web2/M00/36/D0/poYBAGI34WiAQNH8AAAsjOYFWrY793.jpg)
用于openharmony的氣泡組件
![用于<b class='flag-5'>openharmony</b>的氣泡<b class='flag-5'>組件</b>](https://file.elecfans.com/web2/M00/37/04/pYYBAGI5LSSAQesAAAB7IBYZVXw452.jpg)
OpenHarmony自定義組件ProgressWithText
![<b class='flag-5'>OpenHarmony</b>自定義<b class='flag-5'>組件</b>ProgressWithText](https://file.elecfans.com/web2/M00/37/40/poYBAGI6uDCAVurzAAAuWYLLtfM285.jpg)
OpenHarmony自定義組件CircleProgress
![<b class='flag-5'>OpenHarmony</b>自定義<b class='flag-5'>組件</b>CircleProgress](https://file.elecfans.com/web2/M00/37/41/poYBAGI6uR6AcS5pAAAo3X9ySdE208.jpg)
2022 OpenHarmony組件大賽,共建開源組件
![2022 <b class='flag-5'>OpenHarmony</b><b class='flag-5'>組件</b>大賽,共建開源<b class='flag-5'>組件</b>](https://file.elecfans.com//web2/M00/3F/6E/poYBAGJnu_WANRozAAdCToK3oWo97.jpeg)
評(píng)論