在BMP文件和文件压缩时需要用到的int与byte转换,现将理解的贴出来;
主要是要理解;位移等概念 http://baihe747.iteye.com/blog/2078029
int转byte;
byte转int;
/** * 字节转成int,int转成字节 * @author Administrator * */ public class BytetoInt { public static void main(String[] args) { BytetoInt nt = new BytetoInt(); // int转成字节 byte[] by = { 1, 1, 1, 1 }; int num = nt.byte2Int(by); System.out.println("字节转int:"+num); // 字节转成int int numint = 16843009; byte[] bytes = nt.inttobyte(numint); for(int i = 0;i<bytes.length;i++){ System.out.println("整型转字节 : " + bytes[i]); } }
byte转int
/** * byte转int的方法 * * @param by * 字节数组 * @return返回字节 */ public int byte2Int(byte[] by) { int t1 = by[3] & 0xff; int t2 = by[2] & 0xff; int t3 = by[1] & 0xff; int t4 = by[0] & 0xff; int num = t1 << 24 | t2 << 16 | t3 << 8 | t4; return num; }
//int转byte
/** * int转字节的方法 * * @param num * 传入的int * @return返回转成字节的数组 */ public byte[] inttobyte(int num) { byte b4 = (byte) ((num) >> 24); byte b3 = (byte) ((num) >> 16); byte b2 = (byte) ((num) >> 8); byte b1 = (byte) ((num) >> 0); byte[] bytes = { b1, b2, b3, b4 }; return bytes; } }
运行结果:
字节转int:16843009
整型转字节 : 1
整型转字节 : 1
整型转字节 : 1
整型转字节 : 1