簡介
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為文件的ArrayBuffer let 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)進行研究和使用。同時也歡迎更多開發者與我們共享開發成果,分享技術解讀與經驗心得。
作者:程龍濤,潤和軟件開發工程師
審核編輯:湯梓紅
-
編碼
+關注
關注
6文章
951瀏覽量
54878 -
組件
+關注
關注
1文章
513瀏覽量
17860 -
OpenHarmony
+關注
關注
25文章
3730瀏覽量
16424
原文標題:Jchardet:支持檢測并輸出文件編碼方式的組件
文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發燒友開源社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論