package com.mystudypro.byteutil; import java.io.UnsupportedEncodingException; public class ConToByte { /** * double改换byte * @param arr byte[] * @param param double double类型的参数 * @p http://www.fpnanchang.com aram index int */ public static void putDouble(byte[] arr, double param, int index) { int len = (index - 1) 8; int arrLen = arr.length; boolean b = isOutOfArrLength(arrLen, len); //区分其时数组长度能否大于改换的数组长度 Long l = Double.doubleToLongBits(param); if (b) { for (int i = 7; i >=0; i--) { arr[index i] = l.byteValue(); l = l >> 8; } } else { // 如果其时数组长度小于改换的数组长度,就根据index截取改换的数组元素 l = l>>(8*index); for(int j= arrLen-index-1;j>=0;j--){ arr[index j] = l.byteValue(); l = l>>8; } } } /** * float改换byte * * @param arr byte[] * @param param float float类型的参数 * @param index int */ public static void putFloat(byte[] arr, float param, int index) { int len = (index - 1) 4; int arrLen = arr.length; boolean b = isOutOfArrLength(arrLen, len); //区分其时数组长度能否大于改换的数组长度 int l = Float.floatToIntBits(param); if (b) { for (int i = 3; i >=0; i--) { arr[index i] = new Integer(l).byteValue(); l = l >> 8; } } else { // 如果其时数组长度小于改换的数组长度,就根据index截取改换的数组元素 l = l>>(8*index); for(int j=arrLen-index-1;j>=0;j--){ arr[index j] = new Integer(l).byteValue(); l =l>>8; } } } /** * 字符到字节改换 * * @param arr byte[] * @param ch char char类型的参数 * @param index int * @return */ public static void putChar(byte[] arr, char ch, int index) { int len = (index - 1) 4; boolean b = isOutOfArrLength(arr.length, len); //区分其时数组长度能否大于改换的数组长度 if (b) { int temp = (int) ch; for (int i = 1; i >=0; i--) { arr[index i] = new Integer(temp http://www.fpzhuhai.com
转载于:https://www.cnblogs.com/fpqqchao/archive/2013/04/19/3029860.html