读书人

java 网络字节转换工具种

发布时间: 2012-09-06 10:37:01 作者: rapoo

java 网络字节转换工具类
package netkeeper;



/**

* 网络转换工具

* @author chenlei

*

*/

public class Tools {

/**

* 转换short为byte

*

* @param b

* @param s

* 需要转换的short

* @param index

*/

public static void putShort(byte b[], short s, int index) {

b[index + 1] = (byte) (s >>[img]/images/smiles/icon_cool.gif" alt="[/img]
;

b[index + 0] = (byte) (s >> 0);

}



/**

* 通过byte数组取到short

*

* @param b

* @param index

* 第几位开始取

* @return

*/

public static short getShort(byte[] b, int index) {

return (short) (((b[index + 1] > 24);

bb[index + 2] = (byte) (x >> 16);

bb[index + 1] = (byte) (x >>[img]/images/smiles/icon_cool.gif" alt="[/img]
;

bb[index + 0] = (byte) (x >> 0);

}



/**

* 通过byte数组取到int

*

* @param bb

* @param index

* 第几位开始

* @return

*/

public static int getInt(byte[] bb, int index) {

return (int) ((((bb[index + 3] & 0xff) > 56);

bb[index + 6] = (byte) (x >> 48);

bb[index + 5] = (byte) (x >> 40);

bb[index + 4] = (byte) (x >> 32);

bb[index + 3] = (byte) (x >> 24);

bb[index + 2] = (byte) (x >> 16);

bb[index + 1] = (byte) (x >>[img]/images/smiles/icon_cool.gif" alt="[/img]
;

bb[index + 0] = (byte) (x >> 0);

}



/**

* 通过byte数组取到long

*

* @param bb

* @param index

* @return

*/

public static long getLong(byte[] bb, int index) {

return ((((long) bb[index + 7] & 0xff) > 8; // 向右移8位

}

}



/**

* 字节到字符转换

*

* @param b

* @return

*/

public static char getChar(byte[] b, int index) {

int s = 0;

if (b[index + 1] > 0)

s += b[index + 1];

else

s += 256 + b[index + 0];

s *= 256;

if (b[index + 0] > 0)

s += b[index + 1];

else

s += 256 + b[index + 0];

char ch = (char) s;

return ch;

}



/**

* float转换byte

*

* @param bb

* @param x

* @param index

*/

public static void putFloat(byte[] bb, float x, int index) {

// byte[] b = new byte[4];

int l = Float.floatToIntBits(x);

for (int i = 0; i > 8;

}

}



/**

* 通过byte数组取得float

*

* @param bb

* @param index

* @return

*/

public static float getFloat(byte[] b, int index) {

int l;

l = b[index + 0];

l &= 0xff;

l |= ((long) b[index + 1] > 8;

}

}



/**

* 通过byte数组取得float

*

* @param bb

* @param index

* @return

*/

public static double getDouble(byte[] b, int index) {

long l;

l = b[0];

l &= 0xff;

l |= ((long) b[1]

读书人网 >编程

热点推荐