java utf-8文件處理bom頭

參考:http://www.cnblogs.com/wanglao/p/5337836.html

http://akini.mbnet.fi/java/unicodereader/UnicodeReader.java.txt


UTF?
UTF,是UnicodeTransformationFormat的縮寫,意爲Unicode轉換格式。 即怎樣將Unicode定義的數字轉換成程序數據。utf是對Unicode的一種編碼格式化。 JVM裏面的任何字符串資源都是Unicode,就是說,任何String類型的數據都是Unicode編碼。沒有例外。既然只有一種編碼,那麼,我們可以這麼說,JVM裏面的String是不帶編碼的。String相當於 char[]。 
JVM裏面的 byte[] 數據是帶編碼的。比如,Big5,GBK,GB2312,UTF-8之類的(GBK並不屬於utf)。
  一個GBK編碼的byte[] 轉換成 String,其實就是從GBK編碼向Unicode編碼轉換。 
一個String轉換成一個Big5編碼的byte[],其實就是從Unicode編碼向Big5編碼轉換。 我們在解析的時候就要注意是不是utf編碼。
 
有幾種UTF?
這裏用char、char16_t、char32_t分別表示無符號8位整數,無符號16位整數和無符號32位整數。UTF-8、UTF-16、UTF-32分別以char、char16_t、char32_t作爲編碼單位。
 
什麼是bom?
放在文件頭用於標示Unicode編碼格式。
 
bom會引起什麼問題?
記事本保存的文件會存儲bom,在解析的時候,在頭部會多出一個亂碼。

發佈了134 篇原創文章 · 獲贊 15 · 訪問量 67萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章