byte[]数组和int之间的转换
这里简单记录下两种转换方式:
第一种:
1、int与byte[]之间的转换(类似的byte short,long型)
- /**
- * 将int数值转换为占四个字节的byte数组,本方法适用于(低位在前,高位在后)的顺序。 和bytesToInt()配套使用
- * @param value
- * 要转换的int值
- * @return byte数组
- */
- public static byte[] intToBytes( int value )
- {
- byte[] src = new byte[4];
- src[3] = (byte) ((value>>24) & 0xFF);
- src[2] = (byte) ((value>>16) & 0xFF);
- src[1] = (byte) ((value>>8) & 0xFF);
- src[0] = (byte) (value & 0xFF);
- return src;
- }
- /**
- * 将int数值转换为占四个字节的byte数组,本方法适用于(高位在前,低位在后)的顺序。 和bytesToInt2()配套使用
- */
- public static byte[] intToBytes2(int value)
- {
- byte[] src = new byte[4];
- src[0] = (byte) ((value>>24) & 0xFF);
- src[1] = (byte) ((value>>16)& 0xFF);
- src[2] = (byte) ((value>>8)&0xFF);
- src[3] = (byte) (value & 0xFF);
- return src;
- }
byte[]转int
- /**
- * byte数组中取int数值,本方法适用于(低位在前,高位在后)的顺序,和和intToBytes()配套使用
- *
- * @param src
- * byte数组
- * @param offset
- * 从数组的第offset位开始
- * @return int数值
- */
- public static int bytesToInt(byte[] src, int offset) {
- int value;
- value = (int) ((src[offset] & 0xFF)
- | ((src[offset+1] & 0xFF)<<8)
- | ((src[offset+2] & 0xFF)<<16)
- | ((src[offset+3] & 0xFF)<<24));
- return value;
- }
- /**
- * byte数组中取int数值,本方法适用于(低位在后,高位在前)的顺序。和intToBytes2()配套使用
- */
- public static int bytesToInt2(byte[] src, int offset) {
- int value;
- value = (int) ( ((src[offset] & 0xFF)<<24)
- |((src[offset+1] & 0xFF)<<16)
- |((src[offset+2] & 0xFF)<<8)
- |(src[offset+3] & 0xFF));
- return value;
- }
第二种:
1、int与byte[]之间的转换(类似的byte short,long型)
- /**
- * 将int数值转换为占四个字节的byte数组,本方法适用于(低位在前,高位在后)的顺序。
- * @param value
- * 要转换的int值
- * @return byte数组
- */
- public static byte[] intToBytes(int value)
- {
- byte[] byte_src = new byte[4];
- byte_src[3] = (byte) ((value & 0xFF000000)>>24);
- byte_src[2] = (byte) ((value & 0x00FF0000)>>16);
- byte_src[1] = (byte) ((value & 0x0000FF00)>>8);
- byte_src[0] = (byte) ((value & 0x000000FF));
- return byte_src;
- }
byte[]转int
- /**
- * byte数组中取int数值,本方法适用于(低位在前,高位在后)的顺序。
- *
- * @param ary
- * byte数组
- * @param offset
- * 从数组的第offset位开始
- * @return int数值
- */
- public static int bytesToInt(byte[] ary, int offset) {
- int value;
- value = (int) ((ary[offset]&0xFF)
- | ((ary[offset+1]<<8) & 0xFF00)
- | ((ary[offset+2]<<16)& 0xFF0000)
- | ((ary[offset+3]<<24) & 0xFF000000));
- return value;
- }
byte[]数组和int之间的转换的更多相关文章
- 【转】java中byte数组与int类型的转换(两种方式)----不错
原文网址:http://blog.csdn.net/piaojun_pj/article/details/5903009 java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法, ...
- byte数组和int之间相互转化的方法
Java中byte数组和int类型的转换,在网络编程中这个算法是最基本的算法,我们都知道,在socket传输中,发送者接收的数据都是byte数组,但是int类型是4个byte组成的,如何把一个整形in ...
- 深入 JAVA里面关于byte数组和String之间的转换问题
把byte转化成string,必须经过编码. 例如下面一个例子: importjava.io.UnsupportedEncodingException; publicclass test{ pub ...
- Byte数组和Int的互相转换
public static int bytesToInt(byte[] bytes) { int addr = bytes[0] & 0xFF; addr |= ((bytes[1] < ...
- java中byte数组与int类型的转换(两种方式)
http://blog.csdn.net/z69183787/article/details/38564219 http://blog.csdn.net/z69183787/article/detai ...
- Java 中 byte、byte 数组和 int、long 之间的转换
Java 中 byte 和 int 之间的转换源码: //byte 与 int 的相互转换 public static byte intToByte(int x) { return (byte) x; ...
- java中byte,byte[]和int之间的转换
1>byte类型转换为,直接隐式转换,适用于要求保持数值不变,例如要求进行数值计算 如 byte b=0x01; int i=b; 2>另一种是要求保持最低字节中各个位不变,3个高字节全部 ...
- byte[] 数组和字符串的转换,与byte[] 数组和int类型的之间的转化
我们先来看看byte bool int ushort 等的定义 首先时byte[]数组与string之间的转换 string 转换位byte[] 数组 string str = "1-1 ...
- 如何实现数组和 List 之间的转换?(未完成)
如何实现数组和 List 之间的转换?(未完成)
随机推荐
- jquery 排除重复
应用场景——双盒选择器 两个select可能会出现重复的情况 排除重复代码如下: /** * 删除$fromGroup中与$toGroup重复的option * @param $fromGroup = ...
- 解决request.getRemoteAddr()获取的值为0:0:0:0:0:0:0:1这个小问题
症状: Windows操作系统,eclipse开发环境下,在本机上使用http://localhost:8080/...访问本机上的页面,使用tomcat作为服务器 在Servlet或者Action中 ...
- C++ 类的继承一(访问控制)
//类的继承 #include<iostream> using namespace std; /* 面向对象中的继承类之间的父子关系 1.子类拥有父类所有的成员属性和成员函数(包括私有成员 ...
- 关于JDK环境变量的配置问题
网上配置JDK环境变量的时候一直说要配置三个环境变量,什么JAVA_HOME,Path,CLASSPATH 其实是说以后如果要修改JDK的版本或者路径,只要更改JAVA_HOME就可以了,Path,C ...
- Ubuntu libpng png++安装
http://blog.csdn.net/xiaozhun07/article/details/49865785 png使用过程问题小结: (1) libpng “png_set_longjmp_fn ...
- java 多线程 3 synchronized 同步
多任务编程的难点在于多任务共享资源.对于同一个进程空间中的多个线程来说,它们都共享堆中的对象.某个线程对对象的操作,将影响到其它的线程. 在多线程编程中,要尽力避免竞争条件(racing condit ...
- matlab判断图像是彩色图还是灰度图
matlab怎样看图像是彩色还是灰度_莹莹_新浪博客 http://blog.sina.com.cn/s/blog_76088a1f0101diq0.html 解决一: isrgb(A) 如果A是RG ...
- hdu 2809(状压dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2809 思路:简单的状压dp,看代码会更明白. #include<iostream> #in ...
- python_cookies
1.将cookies保存到变量中,然后打印cookie中的值 #coding:utf-8 #将cookies保存到变量中,然后打印cookie中的值 import urllib2 import coo ...
- ASP.NET MVC5 新特性:Attribute路由使用详解
1.什么是Attribute路由?怎么样启用Attribute路由? 微软在 ASP.NET MVC5 中引入了一种新型路由:Attribute路由,顾名思义,Attribute路由是通过Attrib ...