//Charset类包含于java.nio.charset,统一了对字符集的转换。
<span style="white-space:pre"> </span>import java.nio.charset;
<span style="white-space:pre"> </span>
<span style="white-space:pre"> </span>//以下是方法的具体实现:
<span style="white-space:pre"> </span>//1.调用静态的availableCharsets()方法,以获得所有可用字符集
Map<String, Charset> charsets = Charset.availableCharsets();
for(String name : charsets.keySet()){
System.out.println(name);
}
//2.<span style="font-family: Arial, Helvetica, sans-serif;">调用静态的forName()方法</span>获得一个Charset,需要传递一个别名。
Charset cset = Charset.forName("ISO-8859-15");
//3.调用aliases()方法,遍历当前字符集的所有别名
Set<String> aliases = cset.aliases();
for(String alias : aliases){
System.out.println(alias);
}
//4.将给定的包含Unidode码元的java字符串编码为字节序列。
String str = "编码Java字符串";
ByteBuffer buffer = cset.encode(str);
byte[] bytes = buffer.array();
//5.解码字节序列
ByteBuffer bbuf = ByteBuffer.wrap(bytes);
CharBuffer cbuf = cset.decode(bbuf);
String strD = cbuf.toString();
System.out.println(strD);