public static byte[] toByteArray(long[] data) { if (data == null) return null; byte[] byts = new byte[data.length * 8]; for (int i = 0; i < data.length; i++) System.arraycopy(toByteArray(data[i]), 0, byts, i * 8, 8); return byts; }
public static char[] toCharArray(byte[] byteArray) { if (byteArray == null || byteArray.length % 2 != 0) return null; char[] chrs = new char[byteArray.length / 2]; for (int i = 0; i < chrs.length; i++) { chrs[i] = toChar(new byte[] { byteArray[(i * 2)], byteArray[(i * 2) + 1], }); } return chrs; }
public static double[] toDoubleArray(byte[] byteArray) { if (byteArray == null) return null; if (byteArray.length % 8 != 0) return null; double[] dbls = new double[byteArray.length / 8]; for (int i = 0; i < dbls.length; i++) { dbls[i] = toDouble(new byte[] { byteArray[(i * 8)], byteArray[(i * 8) + 1], byteArray[(i * 8) + 2], byteArray[(i * 8) + 3], byteArray[(i * 8) + 4], byteArray[(i * 8) + 5], byteArray[(i * 8) + 6], byteArray[(i * 8) + 7], }); } return dbls; }
int saLen = toInt(bBuff); int[] sLens = toIntArray(bBuff); if (sLens == null) return null; System.arraycopy(byteArray, dataPos, bBuff, 0, sLens[i]); dataPos += sLens[i]; strs[i] = toString(bBuff); } else return null;
public static int[] toIntArray(byte[] byteArray) { if (byteArray == null || byteArray.length % 4 != 0) return null; int[] ints = new int[byteArray.length / 4]; for (int i = 0; i < ints.length; i++) { ints[i] = toInt(new byte[] { byteArray[(i * 4)], byteArray[(i * 4) + 1], byteArray[(i * 4) + 2], byteArray[(i * 4) + 3], }); } return ints; }
public static long[] toLongArray(byte[] byteArray) { if (byteArray == null || byteArray.length % 8 != 0) return null; long[] lngs = new long[byteArray.length / 8]; for (int i = 0; i < lngs.length; i++) { lngs[i] = toLong(new byte[] { byteArray[(i * 8)], byteArray[(i * 8) + 1], byteArray[(i * 8) + 2], byteArray[(i * 8) + 3], byteArray[(i * 8) + 4], byteArray[(i * 8) + 5], byteArray[(i * 8) + 6], byteArray[(i * 8) + 7], }); } return lngs; }
public static short[] toShortArray(byte[] byteArray) { if (byteArray == null || byteArray.length % 2 != 0) return null; short[] shts = new short[byteArray.length / 2]; for (int i = 0; i < shts.length; i++) { shts[i] = toShort(new byte[] { byteArray[(i * 2)], byteArray[(i * 2) + 1] }); } return shts; }
public static float[] toFloatArray(byte[] byteArray) { if (byteArray == null || byteArray.length % 4 != 0) return null; float[] flts = new float[byteArray.length / 4]; for (int i = 0; i < flts.length; i++) { flts[i] = toFloat(new byte[] { byteArray[(i * 4)], byteArray[(i * 4) + 1], byteArray[(i * 4) + 2], byteArray[(i * 4) + 3], }); } return flts; }
int saLen = toInt(bBuff); int[] sLens = toIntArray(bBuff); if (sLens == null) return null; System.arraycopy(byteArray, dataPos, bBuff, 0, sLens[i]); dataPos += sLens[i]; strs[i] = toString(bBuff); } else return null;
public static int[] toIntArray(byte[] byteArray) { if (byteArray == null || byteArray.length % 4 != 0) return null; int[] ints = new int[byteArray.length / 4]; for (int i = 0; i < ints.length; i++) { ints[i] = toInt(new byte[] { byteArray[(i * 4)], byteArray[(i * 4) + 1], byteArray[(i * 4) + 2], byteArray[(i * 4) + 3], }); } return ints; }
public static long[] toLongArray(byte[] byteArray) { if (byteArray == null || byteArray.length % 8 != 0) return null; long[] lngs = new long[byteArray.length / 8]; for (int i = 0; i < lngs.length; i++) { lngs[i] = toLong(new byte[] { byteArray[(i * 8)], byteArray[(i * 8) + 1], byteArray[(i * 8) + 2], byteArray[(i * 8) + 3], byteArray[(i * 8) + 4], byteArray[(i * 8) + 5], byteArray[(i * 8) + 6], byteArray[(i * 8) + 7], }); } return lngs; }
public static short[] toShortArray(byte[] byteArray) { if (byteArray == null || byteArray.length % 2 != 0) return null; short[] shts = new short[byteArray.length / 2]; for (int i = 0; i < shts.length; i++) { shts[i] = toShort(new byte[] { byteArray[(i * 2)], byteArray[(i * 2) + 1] }); } return shts; }
public static float[] toFloatArray(byte[] byteArray) { if (byteArray == null || byteArray.length % 4 != 0) return null; float[] flts = new float[byteArray.length / 4]; for (int i = 0; i < flts.length; i++) { flts[i] = toFloat(new byte[] { byteArray[(i * 4)], byteArray[(i * 4) + 1], byteArray[(i * 4) + 2], byteArray[(i * 4) + 3], }); } return flts; }
public static byte[] toByteArray(double[] data) { if (data == null) return null; byte[] byts = new byte[data.length * 8]; for (int i = 0; i < data.length; i++) System.arraycopy(toByteArray(data[i]), 0, byts, i * 8, 8); return byts; }
public static boolean[] toBooleanArray(byte[] byteArray) { if (byteArray == null || byteArray.length < 4) return null; int len = toInt(new byte[] { byteArray[0], byteArray[1], byteArray[2], byteArray[3] }); boolean[] bools = new boolean[len]; for (int i = 0, j = 4, k = 7; i < bools.length; i++) { bools[i] = ((byteArray[j] >> k--) & 0x01) == 1; if (k < 0) { j++; k = 7; } } return bools; }
public static double toDouble(byte[] byteArray) { if (byteArray == null || byteArray.length != 8) return 0x0; return Double.longBitsToDouble(toLong(byteArray)); }
public static char[] toCharArray(byte[] byteArray) { if (byteArray == null || byteArray.length % 2 != 0) return null; char[] chrs = new char[byteArray.length / 2]; for (int i = 0; i < chrs.length; i++) { chrs[i] = toChar(new byte[] { byteArray[(i * 2)], byteArray[(i * 2) + 1], }); } return chrs; }
public static double[] toDoubleArray(byte[] byteArray) { if (byteArray == null) return null; if (byteArray.length % 8 != 0) return null; double[] dbls = new double[byteArray.length / 8]; for (int i = 0; i < dbls.length; i++) { dbls[i] = toDouble(new byte[] { byteArray[(i * 8)], byteArray[(i * 8) + 1], byteArray[(i * 8) + 2], byteArray[(i * 8) + 3], byteArray[(i * 8) + 4], byteArray[(i * 8) + 5], byteArray[(i * 8) + 6], byteArray[(i * 8) + 7], }); } return dbls; }
public static byte[] toByteArray(long[] data) { if (data == null) return null; byte[] byts = new byte[data.length * 8]; for (int i = 0; i < data.length; i++) System.arraycopy(toByteArray(data[i]), 0, byts, i * 8, 8); return byts; }
public static boolean[] toBooleanArray(byte[] byteArray) { if (byteArray == null || byteArray.length < 4) return null; int len = toInt(new byte[] { byteArray[0], byteArray[1], byteArray[2], byteArray[3] }); boolean[] bools = new boolean[len]; for (int i = 0, j = 4, k = 7; i < bools.length; i++) { bools[i] = ((byteArray[j] >> k--) & 0x01) == 1; if (k < 0) { j++; k = 7; } } return bools; }