Java中的String類和編碼轉換


構造方法:

String(byte[] bytes, int offset, int length) 
          通過使用平台的默認字符集解碼指定的 byte 子數組,構造一個新的 String。 
String(byte[] bytes, int offset, int length, Charset charset) 
          通過使用指定的 charset 解碼指定的 byte 子數組,構造一個新的 String。 
String(byte[] bytes, int offset, int length, String charsetName) 
          通過使用指定的字符集解碼指定的 byte 子數組,構造一個新的 String。  
String(char[] value, int offset, int count) 
          分配一個新的 String,它包含取自字符數組參數一個子數組的字符。 
String(int[] codePoints, int offset, int count) 
          分配一個新的 String,它包含 Unicode 代碼點數組參數一個子數組的字符。

將“南山南”轉換為UTF-8字節碼

import java.nio.*;
String str = "南山南";
Charset charset_utf8 = Charset.forName("utf-8");
ByteBuffer buff = charset_utf8.encode(str);
byte[] bArr = new byte[buff.remaining()];
buff.get(bArr); 

把字符串以指定編碼轉為byte[]和把byte[]以指定編碼轉為字符串。

public static void Utf8ToUnicode() throws UnsupportedEncodingException {
    String str="中文";        
    byte[] bArr = str.getBytes("unicode");  //bArr[0]=fe,bArr[1]=ff;從bArr[2]開始為編碼內容
    String str1 = new String(bArr, "utf16");  //utf16和unicode編碼一樣
    System.out.println(str1);
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM