把一个byte[]数组 变成 字符串,再变回byte[]数组,前后两个数组长度可能不同,即使两次转换使用的是同一种字符集
String content = "朱元璋";
byte[] line = content.getBytes("utf-8"); //长度为9
byte[] subLine = ArrayUtils.subarray(line, 0, 5); //长度为5
new String(subLine,"utf-8").getBytes("utf-8").length; //长度为6
看subLine,本来长度是5,转了一圈之后变成6了