一、char[] 数组转为byte[] 数组
// char转byte
public static byte[] charToBytes(char[] chars) {
Charset charset = Charset.forName("ISO-8859-1");
CharBuffer charBuffer = CharBuffer.allocate(chars.length);
charBuffer.put(chars);
charBuffer.flip();
ByteBuffer byteBuffer = charset.encode(charBuffer);
return byteBuffer.array();
}
二、byte[] 数组转为数组 char[]
// byte转为char
public static char[] byteToChar(byte[] bytes) {
Charset charset = Charset.forName("ISO-8859-1");
ByteBuffer byteBuffer = ByteBuffer.allocate(bytes.length);
byteBuffer.put(bytes);
byteBuffer.flip();
CharBuffer charBuffer = charset.decode(byteBuffer);
return charBuffer.array();
}
关于使用字符集ISO-8859-1的问题,其他的也有使用utf-8
参考String.getbytes()方法的源码,采用也是ISO-8859-1,
亲测可以正常使用