程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> 理解文件的編碼,理解文件編碼

理解文件的編碼,理解文件編碼

編輯:JAVA綜合教程

理解文件的編碼,理解文件編碼


 

  • UTF-16BE:漢字占 2 個字節, 字母占 2 個字節。
  • UTF-8:漢字占 3 個字節, 字母占 1 個字節。
  • GBK:漢字占 2 個字節,字母占 1 一個字節。Java項目默認編碼為GBK。
  • ANSI:中文系統下ansi編碼代表GBK編碼。

 

 

  Java是雙字節編碼,一個字符占2個字節。所以Java裡的一個字符可以放一個漢字,默認的Java項目編碼為GBK,一個漢字2個字節,正好可以放進去,不會出現亂碼。

 

  當你的 字節序列 為某種編碼時,這個時候如果想把字節序列編變成字符串,也要用到這種編碼方式,否則會出現亂碼。

  在程序中,將 字節序列 變成 字符串,如果不給出字節序列的編碼方式,則會采用系統默認的編碼方式GBK,例如,bytes是一個UTF-8的字節序列數組,如果要將其轉換成這個字節序列所表示的字符串,則必須給出這種編碼方式:

    String str = new String(bytes,”utf-8”);

  如果不給出則會按照GBK編碼方式轉換成字符串,就會出現亂碼。

 

  文本文件其實是一種字節序列。

  在文本文件可以查看任意編碼的文字信息而不亂碼。

  在中文機器上直接創建文本文件,那麼文本文件默認以ansi編碼(也就是GBK)來保存文字信息。

 

  在Eclipse裡面,項目設置的什麼編碼形式,它就只認識什麼編碼。如果從一個utf-8的項目裡拷貝一個文本文件到GBK的項目裡,再打開則會出現亂碼。但是如果從utf-8的文本文件裡直接拷貝文字內容到GBK項目的文本文件裡,不會出現亂碼,系統會自動地做編碼轉換。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved