程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> java中編碼成績的處置計劃

java中編碼成績的處置計劃

編輯:關於JAVA

java中編碼成績的處置計劃。本站提示廣大學習愛好者:(java中編碼成績的處置計劃)文章只能為提供參考,不一定能成為您想要的結果。以下是java中編碼成績的處置計劃正文


起首我應用的開辟情況是Eclipse.創立一個Java Project默許的編碼則為GBK,如圖:

上面就是詳細代碼:

import java.io.UnsupportedEncodingException;

public class Demo1 {
  public static void main(String[] args) throws UnsupportedEncodingException {
    String s = "我愛ABC";
    byte[] bytes1 = s.getBytes("gbk");//不寫編碼,則應用平台的默許字符集將此 String 編碼為 byte序列,並前往byte[].
    //s.getBytes(Charset charset) 應用給定的charset將此String編碼到byte序列;
    //前往的是一個byte[]字節數組
    
    for(byte b: bytes1){
      System.out.print(Integer.toHexString(b&0xff)+" ");
      //Integer.toHexString(int i)以十六進制(基數 16)無符號整數情勢前往一個整數參數的字符串表現情勢
    }
    //gbk編碼中文占領兩個字節,英文占領一個字節
    System.out.println();
    byte[] bytes2 = s.getBytes("utf-8");
    for(byte b: bytes2){
      System.out.print(Integer.toHexString(b&0xff)+" ");
    }
    //utf-8編碼 中文占領三個字節,英文占領一個字節
    System.out.println();
    //java是雙字節編碼 --->utf-16be >> 中文和英文都占領兩個字節
    byte[] bytes3 = s.getBytes("utf-16be");
    for(byte b: bytes3){
      System.out.print(Integer.toHexString(b&0xff)+" ");
    }
    
    /*當你的字節序列是某種編碼時,這個時刻想把字節序列釀成
     *字符串,也須要用這類編碼方法,不然會湧現亂碼
     * */
    System.out.println();
    String str1 = new String(bytes3);//用項目默許的編碼即(GBK編碼) ----->> bytes3在下面界說成“utf-16be”的編碼了,所以會湧現亂碼
    System.out.println(str1);
    System.out.println();
    
    String str2 = new String(bytes3,"utf-16be");
    System.out.println(str2);
    
   /*
    * 文本文件就是字節序列
    * 可所以隨意率性編碼的字節序列
    * 假如我們在中文機械上直接創立文本文件,那末該文本文件只熟悉ansi編碼
    * 
   */  
  }
}

打印的成果:

總的來講,編碼必需對應,否則會湧現亂碼。

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