Java字节流与基本数据类型的转换实例

发布时间 - 2026-01-11 01:54:39    点击率:

在实际开发中,我们经常遇到与嵌入式进行通信的情况,而由于一些嵌入式设备的处理能力较差,往往以二进制的数据流的形式传输数据,在此将这些常见的转换做一总结。

注意:默认传输时使用小端模式

将字节流转换为int类型数据

public static int getInt(byte[] bytes) {
  return (0xff & bytes[0]) | (0xff00 & (bytes[1] << 8)) | (0xff0000 & (bytes[2] << 16))
      | (0xff000000 & (bytes[3] << 24));
}

将字节流转换为long类型数据

public static long getLong(byte[] bytes) {
  return ((0xffL & (long) bytes[0]) | (0xff00L & ((long) bytes[1] << 8)) | (0xff0000L & ((long) bytes[2] << 16))
      | (0xff000000L & ((long) bytes[3] << 24)) | (0xff00000000L & ((long) bytes[4] << 32))
      | (0xff0000000000L & ((long) bytes[5] << 40)) | (0xff000000000000L & ((long) bytes[6] << 48))
      | (0xff00000000000000L & ((long) bytes[7] << 56)));
}

将字节流转换为float类型数据

public static float getFloat(byte[] bytes){
  int temp=getInt(bytes);
  return Float.intBitsToFloat(temp);
}

将字节流转换为double类型数据

public static double getDouble(byte[] bytes){
  long temp=getLong(bytes);
  return Double.longBitsToDouble(temp);
}

将int类型数据转换为字节流

public static byte[] getByteFromInt(int data){
  byte[] temp=new byte[4];
  temp[0]=(byte)(0xFF&(data));
  temp[1]=(byte)(0xFF&(data>>8));
  temp[2]=(byte)(0xFF&(data>>16));
  temp[3]=(byte)(0xFF&(data>>24));
  return temp;
}

将long类型数据转换为字节流

public static byte[] getByteFromLong(long data){
  byte[] temp=new byte[8];
  temp[0]=(byte)(0xFF&(data));
  temp[1]=(byte)(0xFF&(data>>8));
  temp[2]=(byte)(0xFF&(data>>16));
  temp[3]=(byte)(0xFF&(data>>24));
  temp[4]=(byte)(0xFF&(data>>32));
  temp[5]=(byte)(0xFF&(data>>40));
  temp[6]=(byte)(0xFF&(data>>48));
  temp[7]=(byte)(0xFF&(data>>56));
  return temp;
}

将float类型数据转换为字节流

public static byte[] getByteFromFloat(float data){
  byte[] temp=new byte[4];
  int tempInt=Float.floatToIntBits(data);
  temp[0]=(byte)(0xFF&(tempInt));
  temp[1]=(byte)(0xFF&(tempInt>>8));
  temp[2]=(byte)(0xFF&(tempInt>>16));
  temp[3]=(byte)(0xFF&(tempInt>>24));
  return temp;
}

将double类型数据转换为字节流

public static byte[] getByteFromDouble(double data){
  byte[] temp=new byte[8];
  long tempLong=Double.doubleToLongBits(data);
  temp[0]=(byte)(0xFF&(tempLong));
  temp[1]=(byte)(0xFF&(tempLong>>8));
  temp[2]=(byte)(0xFF&(tempLong>>16));
  temp[3]=(byte)(0xFF&(tempLong>>24));
  temp[4]=(byte)(0xFF&(tempLong>>32));
  temp[5]=(byte)(0xFF&(tempLong>>40));
  temp[6]=(byte)(0xFF&(tempLong>>48));
  temp[7]=(byte)(0xFF&(tempLong>>56));
  return temp;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Java字节流转换  # java字节流转换基本数据类型  # JAVA中string数据类型转换详解  # Java数据类型转换详解  # Java数据类型转换实例解析  # Java基本数据类型与类型转换实例分析  # java 各种数据类型的互相转换实例代码  # Java基本数据类型之间的相互转换详解  # Java数据类型(八种基本数据类型+四种引用类型)以及数据类型转换  # 转换为  # 在此  # 大家多多  # 在实际  # lt  # xff  # amp  # xffL  # xff00L  # xff0000L  # long  # getLong  # return  # int  # pre  # class  # xff00000000L  # doubleToLongBits  # br  # brush 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么在Blade中安全地输出原始HTML内容  bootstrap日历插件datetimepicker使用方法  如何在宝塔面板中创建新站点?  php打包exe后无法访问网络共享_共享权限设置方法【教程】  Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】  如何在阿里云香港服务器快速搭建网站?  Laravel如何实现API版本控制_Laravel版本化API设计方案  浅谈javascript alert和confirm的美化  Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】  如何在云虚拟主机上快速搭建个人网站?  JavaScript如何实现倒计时_时间函数如何精确控制  奇安信“盘古石”团队突破 iOS 26.1 提权  如何在阿里云ECS服务器部署织梦CMS网站?  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  EditPlus中的正则表达式 实战(1)  黑客如何通过漏洞一步步攻陷网站服务器?  javascript中对象的定义、使用以及对象和原型链操作小结  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  如何用PHP快速搭建高效网站?分步指南  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  微信小程序制作网站有哪些,微信小程序需要做网站吗?  如何生成腾讯云建站专用兑换码?  详解CentOS6.5 安装 MySQL5.1.71的方法  浅述节点的创建及常见功能的实现  HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】  Android仿QQ列表左滑删除操作  高防服务器租用首荐平台,企业级优惠套餐快速部署  Bootstrap CSS布局之列表  如何在万网自助建站平台快速创建网站?  Laravel如何优化应用性能?(缓存和优化命令)  Laravel如何使用查询构建器?(Query Builder高级用法)  Laravel观察者模式如何使用_Laravel Model Observer配置  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  Linux安全能力提升路径_长期防护思维说明【指导】  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  如何在云主机快速搭建网站站点?  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  如何在服务器上配置二级域名建站?  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  如何在景安云服务器上绑定域名并配置虚拟主机?  Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】  为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】  如何快速生成可下载的建站源码工具?  Laravel怎么上传文件_Laravel图片上传及存储配置  如何在Windows 2008云服务器安全搭建网站?  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?