呵呵,老哥不是愚人节游戏吧, [
]
Java是基于Unicode 的,你的老师也太损了吧.
import java.nio.*;
import java.nio.charset.*;
import java.util.Arrays;
......
// 设定解码字符集"US-ASCII"
Charset asciiCharset = Charset.forName("US-ASCII");
CharsetDecoder decoder = asciiCharset.newDecoder();
// ASCII 编码的"help"
byte help[] = {72, 101, 108, 112};
ByteBuffer asciiBytes = ByteBuffer.wrap(help);
CharBuffer helpChars = null;
try { // 解码
helpChars = decoder.decode(asciiBytes);
} catch (CharacterCodingException e) {
System.err.println("Error decoding");
System.exit(-1);
}
.......
//设定编码字符集 "UTF - 16LE"
Charset utfCharset = Charset.forName("UTF-16LE");
CharsetEncoder encoder = utfCharset.newEncoder();
ByteBuffer utfBytes = null;
try {// 再编码
utfBytes = encoder.encode(helpChars);
} catch (CharacterCodingException e) {
System.err.println("Error encoding");
System.exit(-1);
}
byte newHelp[] = utfBytes.array();
上面这个程序是如何转换两个编码系统,应该足够做你的工作了吧.
没把你要的程序直接写出来,也动动脑子吧.
如果还不明白,仔细看看引用的nio 包里面的哪个class 的API.
好运!