华南俳烁实业有限公司

java

當(dāng)前位置:中華考試網(wǎng) >> java >> java教程 >> 文章內(nèi)容

Java字符編碼詳細(xì)介紹

來源:中華考試網(wǎng)  [2020年11月20日]  【

  計(jì)算機(jī)中,任何的文字都是以指定的編碼方式存在的,在 Java 程序的開發(fā)中最常見的是 ISO8859-1、GBK/GB2312、Unicode、 UTF 編碼。

  Java 中常見編碼說明如下:

  ISO8859-1:屬于單字節(jié)編碼,最多只能表示 0~255 的字符范圍。

  GBK/GB2312:中文的國(guó)標(biāo)編碼,用來表示漢字,屬于雙字節(jié)編碼。GBK 可以表示簡(jiǎn)體中文和繁體中文,而 GB2312 只能表示簡(jiǎn)體中文。GBK 兼容 GB2312。

  Unicode:是一種編碼規(guī)范,是為解決全球字符通用編碼而設(shè)計(jì)的。UTF-8 和 UTF-16 是這種規(guī)范的一種實(shí)現(xiàn),此編碼不兼容 ISO8859-1 編碼。Java 內(nèi)部采用此編碼。

  UTF:UTF 編碼兼容了 ISO8859-1 編碼,同時(shí)也可以用來表示所有的語言字符,不過 UTF 編碼是不定長(zhǎng)編碼,每一個(gè)字符的長(zhǎng)度為 1~6 個(gè)字節(jié)不等。一般在中文網(wǎng)頁中使用此編碼,可以節(jié)省空間。

  填寫下面表單即可預(yù)約申請(qǐng)免費(fèi)試聽java課程!害怕學(xué)不會(huì)?助教陪讀,隨時(shí)解惑!擔(dān)心就業(yè)?一地學(xué)習(xí),可全國(guó)推薦就業(yè)!

預(yù)約申請(qǐng)免費(fèi)聽java課程

  • 地區(qū):
  • 姓名:
  • 手機(jī):

  在程序中如果處理不好字符編碼,就有可能出現(xiàn)亂碼問題。例如現(xiàn)在本機(jī)的默認(rèn)編碼是 GBK,但在程序中使用了 ISO8859-1 編碼,則就會(huì)出現(xiàn)字符的亂碼問題。就像兩個(gè)人交談,一個(gè)人說中文,另外一個(gè)人說英語,語言不同就無法溝通。為了避免產(chǎn)生亂碼,程序編碼應(yīng)與本地的默認(rèn)編碼保持一致。

  本地的默認(rèn)編碼可以使用 System 類查看。Java 中 System 類可以取得與系統(tǒng)有關(guān)的信息,所以直接使用此類可以找到系統(tǒng)的默認(rèn)編碼。方法如下所示:

  public static Properties getProperty()

  使用上述方法可以查看 JVM 的默認(rèn)編碼,代碼如下:

  public static void main(String[] args) { // 獲取當(dāng)前系統(tǒng)編碼 System.out.println("系統(tǒng)默認(rèn)編碼:" + System.getProperty("file.encoding"));}

  運(yùn)行結(jié)果如下:

  系統(tǒng)默認(rèn)編碼:GBK

  可以看出,現(xiàn)在操作系統(tǒng)的默認(rèn)編碼是 GBK。

  下面通過一個(gè)示例講解亂碼的產(chǎn)生。現(xiàn)在本地的默認(rèn)編碼是 GBK,下面通過 ISO8859-1 編碼對(duì)文字進(jìn)行編碼轉(zhuǎn)換。如果要實(shí)現(xiàn)編碼的轉(zhuǎn)換可以使用 String 類中的 getBytes(String charset) 方法,此方法可以設(shè)置指定的編碼,該方法的格式如下:

  public byte[] getBytes(String charset);

責(zé)編:fushihao

上一篇:關(guān)于Java系統(tǒng)流的使用

下一篇: 沒有了

  • 會(huì)計(jì)考試
  • 建筑工程
  • 職業(yè)資格
  • 醫(yī)藥考試
  • 外語考試
  • 學(xué)歷考試
都匀市| 石景山区| 青河县| 射阳县| 周宁县| 兴山县| 鹿泉市| 潞西市| 县级市| 衢州市| 共和县| 盐亭县| 阜康市| 芜湖市| 开阳县| 阳信县| 古蔺县| 巨鹿县| 阿荣旗| 洛宁县| 蕉岭县| 彝良县| 通海县| 沙洋县| 南陵县| 贵溪市| 松原市| 辽源市| 广西| 客服| 定安县| 浦城县| 外汇| 施甸县| 宁都县| 凤城市| 九龙县| 芜湖县| 科技| 庆城县| 肃南|