java.nio.charset.Charset
包使用的是在JDK 1.4中引入了字元集的概念。它在給定的字元集和UNICODE之間的編碼和解碼中起著重要的作用。
字元集的名稱必須遵循某些規則。它必須以數位或字母開頭。Charset
類方法在多執行緒環境中也是安全的。
Java支援的字元集列表如下:
8
位UCS轉換格式。7
位ASCII字元。16
位UCS轉換,小位元組順序。16
位UCS變換格式charbuffer
編碼為給定字元集的CharBuffer
。Unicode
字元集的CharBuffer
。基本字串範例
package com.yiibai;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.charset.Charset;
public class CharsetExample {
public static void main(String[] args) {
Charset cs = Charset.forName("UTF-8");
System.out.println(cs.displayName());
System.out.println(cs.canEncode());
String st = "Welcome to tw511.com, it is Charset test Example.";
// The conversion of byte buffer from given charset to char buffer in
// unicode
ByteBuffer bytebuffer = ByteBuffer.wrap(st.getBytes());
CharBuffer charbuffer = cs.decode(bytebuffer);
// The converesion of char buffer from unicode to byte buffer in given
// charset
ByteBuffer newbytebuffer = cs.encode(charbuffer);
while (newbytebuffer.hasRemaining()) {
char ca = (char) newbytebuffer.get();
System.out.print(ca);
}
newbytebuffer.clear();
}
}
執行上面範例程式碼,得到以下結果 -
UTF-8
true
Welcome to tw511.com, it is Charset test Example.