亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

java 判斷字符串什么編碼類型?

java 判斷字符串什么編碼類型?

慕碼人2483693 2018-12-20 15:15:33
java 判斷字符串什么編碼類型
查看完整描述

1 回答

?
慕桂英546537

TA貢獻1848條經驗 獲得超10個贊

如果是Java的String對象的話,則一定是Unicode的,這個沒有為什么,Java就是這么定的。

我猜你的問題應該是如何判斷一段字節流是什么編碼類型,對嗎?比如一個文件,或是網絡上面取下來的一段Byte數組,你需要用一個合適的編碼來解析成字符串。

這個讓你失望了,沒有一個文檔化的,確定的方法來判斷,只能用測試的方法,這個方法也只是猜測,不能百分百的確定,方法如下:

  1. 用常見的編碼方式對字節流進行解碼,比如Unicode,UTF8, UTF8 without BOM, UTF16, ANSI等等。

  2. 對解析的結果進行判斷,是不是一個合理的可打印字符,可打印字符最多的解碼方式就是最可能的編碼了。

  3. 如何判斷可打印字符?流程如下:把解析好的字符串按照字符進行遍歷,把每一個字符轉化成Unicode編碼,看看這些編碼是不是Unicode的支持范圍極客。

  4. 如果發現有種編碼方式都是可打印字符,那么再使用本步驟:對字符串進行分詞,分詞這個在此不作贅述,你自己再研究一下。分詞效果好的就是最可能的編碼了。(不過通常到第三步就能搞定了,第四部絕大部分用不著)


查看完整回答
反對 回復 2019-01-10
  • 1 回答
  • 0 關注
  • 948 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號