java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法,我们都知道,在socket传输中,发送、者接收的数据都是 byte数组,但是int类型是4个byte组成的,如何把一个整形int转换成byte数组,同时如何把一个长度为4的byte数组转换为int类型。下面有两种方式。

public static byte[] int2byte(int res) {

byte[] targets = new byte[4];

targets[0] = (byte) (res & 0xff);// 最低位

targets[1] = (byte) ((res >> 8) & 0xff);// 次低位

targets[2] = (byte) ((res >> 16) & 0xff);// 次高位

targets[3] = (byte) (res >>> 24);// 最高位,无符号右移。

return targets;

}

public static int byte2int(byte[] res) {

// 一个byte数据左移24位变成0x??000000,再右移8位变成0x00??0000

int targets = (res[0] & 0xff) | ((res[1] << 8) & 0xff00) // | 表示安位或

| ((res[2] << 24) >>> 8) | (res[3] << 24);

return targets;

}

第二种

public static void main(String[] args) {

ByteArrayOutputStream baos = new ByteArrayOutputStream();

DataOutputStream dos = new DataOutputStream(baos);

try {

dos.writeByte(4);

dos.writeByte(1);

dos.writeByte(1);

dos.writeShort(217);

} catch (IOException e) {

e.printStackTrace();

}

byte[] aa = baos.toByteArray();

ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());

DataInputStream dis = new DataInputStream(bais);

try {

System.out.println(dis.readByte());

System.out.println(dis.readByte());

System.out.println(dis.readByte());

System.out.println(dis.readShort());

} catch (IOException e) {

e.printStackTrace();

}

try {

dos.close();

dis.close();

} catch (IOException e) {

e.printStackTrace();

}

}

以上这篇基于java中byte数组与int类型的转换(两种方法)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

java整型转换为数组_基于java中byte数组与int类型的转换(两种方法)相关推荐

  1. python中numpy数组的合并_基于Python中numpy数组的合并实例讲解

    基于Python中numpy数组的合并实例讲解 Python中numpy数组的合并有很多方法,如 - np.append() - np.concatenate() - np.stack() - np. ...

  2. python中none算变量吗_在python中对变量判断是否为None的三种方法总结

    三种主要的写法有: 第一种:if X is None; 第二种:if not X: 当X为None,  False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()这 ...

  3. java 整型数组定义_在Java中定义一个具有10个元素的整型数组a的语句是:___

    在Java中定义一个具有10个元素的整型数组a的语句是:___ 答: int [] arr = new int[10] 在借贷记账法下() 答:在账户结构上,"借"和"贷 ...

  4. java电信计费项目论文_基于JAVA开发的电信IP计费系统设计毕业论文

    基于JAVA开发的电信IP计费系统设计毕业论文 本科毕业设计(论文)基于 JAVA 开发的电信 IP 计费系统毕业设计(论文)任务书学院:信息科学与工程学院 系级教学单位:电子与通信工程学号学生姓名专 ...

  5. java怎么写桌面日历_基于java的桌面日历系统的设计与实现毕业设计论文最终版.doc...

    基于java的桌面日历系统的设计与实现毕业设计论文最终版 分类号_______________ 密级________________ UDC _______________ 学号_ ___ 毕业设计( ...

  6. java教务系统类设计_基于Java EE体系的高校教务管理系统的设计开发

    <基于Java EE体系的高校教务管理系统的设计开发>由会员分享,可在线阅读,更多相关<基于Java EE体系的高校教务管理系统的设计开发(3页珍藏版)>请在人人文库网上搜索. ...

  7. java开发组态软件下载_基于JAVA的煤矿安全监控系统组态软件设计研究.pdf

    ·218· 工矿自动化 基于JAVA的煤矿安全监控系统组态软件设计 鲍毅华钢 (中国矿业大学信电学院 江苏徐州 221008) [摘要]本文通过对当前煤矿安全监控系统组态存在的问题和发展趋势的问题,提 ...

  8. 基于Java的设计开题报告_基于Java的电子邮件的收发系统的设计与实现开题报告...

    基于Java的电子邮件的收发系统的设计与实现开题报告 (8页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 开题报告 基于 Java 的电子 ...

  9. java velocity是什么意思_基于 Java 的模板引擎Velocity快速入门

    最近使用Velocity模板引擎,写一个maven项目Coding生成工具. 对基于Java的模板引擎Velocity的demo总结如下: Step1. 创建Maven项目,添加如下velocity的 ...

最新文章

  1. QT学习第8课:QT计算器界面实现
  2. R语言ggplot2可视化图中添加希腊字母实战
  3. Docker网络相关
  4. 二叉树路径和最大python_python3实现在二叉树中找出和为某一值的所有路径(推荐)...
  5. node 微信开发 json转xml 格式
  6. python学习:删除空白
  7. ACM ICMR 2021雷达目标检测挑战赛(ROD2021)
  8. matlab节约里程法_节约里程法matlab.doc
  9. Chrome浏览器30秒下载抖音无水印视频——2020-11-05
  10. 设备报废鉴定怎么做?
  11. php strtok函数,strtok函数的使用示例
  12. 三维数组matlab怎么画图,三维数组画图遇到问题
  13. 丧尸,只要摧毁头部便会永久停止行动
  14. 微信公众号自定义分享实现(开发者)
  15. 神马笔记 版本1.7.0——辅助编辑·缘起篇
  16. 百度地图集成(一):百度地图简单实现
  17. 免登陆从Oracle下载Java SE
  18. 电路设计学习一:DAC/ADC原理
  19. Vue下面安装Element 的详细步骤
  20. 四个视角,讲透额温枪应用设计中的运放问题

热门文章

  1. 景深决定照相机什么特性_手机为什么达不到相机的景深效果?
  2. SDOI 2017R2游记
  3. Intel Haswell/Broadwell架构/微架构/流水线 (2)-流水线前端
  4. H2O Wave教程---基于浏览器的实时显示工具---教程01
  5. 多线程python实现方式_python多线程的两种实现方式(代码教程)
  6. python元组和列表的联系_Python | 一文看懂Python列表、元组和字符串操作
  7. 如何清理电脑c盘_【电脑】第一期干货:如何正确清理C盘?
  8. 不同系统可以用一个数据库服务器吗,同一个数据库 不同服务器吗
  9. 全局光照技术解析Global Illumination Explained
  10. mini2440_x35 ubuntu下使用dnw进行传送文件