1、字节数组转字符数组
public static char[] toChar(byte[] b) {
if (b == null) {
return null;
} else {
char[] c = new char[b.length / 2];
int i = 0;
for(int var3 = 0; i < b.length; c[var3++] = (char)((b[i++] & 255) + ((b[i++] & 255) << 8))) {
}
return c;
}
}
2、字符数组转字节数组的算法
public static byte[] toByte(char[] c) {
if (c == null) {
return null;
} else {
byte[] b = new byte[c.length * 2];
int i = 0;
for(int j = 0; j < c.length; b[i++] = (byte)(c[j++] >> 8 & 255)) {
b[i++] = (byte)(c[j] & 255);
}
return b;
}
}
3、玩
char[] c = new char[]{'a' ,'b' ,'c','哈'};
单步调试的结果!
这里有一个知识点:c[0] = 'a'; c[0] >> 8后 ,c[0]是什么? 答案是c[0] = 'a'; 若c[0] = c[0] >>8; 结果就不一样了。