code: public static byte[] sub(byte[] array, int start, int end) {
  		int length = length(array);
  		if (start < 0) {
  			start += length;
  		}
  		if (end < 0) {
  			end += length;
  		}
  		if (start == length) {
  			return new byte[0];
  		}
  		if (start > end) {
  			int tmp = start;
  			start = end;
  			end = tmp;
  		}
  		if (end > length) {
  			if (start >= length) {
  				return new byte[0];
  			}
  			end = length;
  		}
  		return Arrays.copyOfRange(array, start, end);
  	}
docs: 获取子数组
  
  @param array 数组
  @param start 开始位置（包括）
  @param end 结束位置（不包括）
  @return 新的数组
  @since 4.5.2
  @see Arrays#copyOfRange(Object[], int, int)