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