CharsetDetector的簡單用法

2021-08-10 03:38:00 字數 1165 閱讀 6734

charsetdetectorapi路徑:charsetdetector api

簡單介紹一下:charsetdetector這個類是為了解決未知格式的字元資料的編碼格式的問題,也就是說你可以通過這個類得到一段編碼格式未知的字元資料最可能的格式。(並不保證一定能找到,後續會詳細解釋)。

注:本篇部落格只做最基本的使用介紹,更詳細的使用方法,請看文章開頭的api鏈結。

最基本的使用方法:

string html = "嘞似霧都";

charsetdetector detector = new charsetdetector();

//傳入方式為位元組陣列或輸入流

fileinputstream(new file("")));

detector.settext(html.getbytes());

//獲取所有可能匹配的編碼格式陣列

//charsetmatch matches = detector.detectall();

//獲取可能性最高的編碼格式,一般這個就夠用

charsetmatch match = detector.detect();

//獲取可能性,值從0~100, 可以理解為字元與編碼格式的匹配程度從0%~100%,一般60%以上就可以確定了

int confidence = match.getconfidence();

//編碼格式的名字,例:utf-8

string name = match.getname()

//大致意思是根據位元組資料或輸入流對應的unicode編碼集,將資料寫成字串

string text = match.getstring()

最後說一下會用到的地方,我個人是寫爬蟲的,使用爬蟲抓取網頁時最後返回的內容都是輸入流inputstream,通過這種方式我們可以方便的把輸入流轉換為字串,而不需要再去仔細的考慮編碼格式的問題,當然有時候還是要考慮,不過總能省一些事情。

另外,儘管現在大勢所趨,大家都開始使用utf-8的編碼格式,但是難免會有很多歷史遺留的問題以及開發時使用的語言的限制而導致的各種編碼問題,包括網頁和檔案。這也是這個類的用武之地,雖然還是很小眾。

以上。

mysql的簡單用法 mysql簡單用法

刪除使用者 drop user jack drop比delete刪除的優勢在於drop可以刪除使用者的許可權,更加徹底 更改使用者名稱 rename user jack to jacknew 使用者的都存在與user表中,更改名稱,許可權不變 更改使用者密碼 update mysql.user se...

SharedPreference 的簡單用法

一般使用sharedpreference來儲存應用程式的配置資訊。它一般儲存在應用程式的私有儲存區,檔案許可權是私有的。也就是說只能供寫入者讀取。它使用鍵 值 nvp機制 來儲存資料。支援的資料型別 boolean int float long和string 它儲存在應用程式的私有目錄下 data ...

BroadcastReciever簡單用法示例

生命週期非常短,在接受到廣播時建立,onrecieve 方法執行完後銷毀 10s內onrecieve 方法未執行完,會出現anr錯誤 broadcastreciever簡單用法示例 傳送廣播 intent intent new intent this,sendbraodcast intent 注 1...