Java 中大小端 int 与 byte 数组转换

2023-05-16

1. 小端模式转换

  1.1 int 转 byte 数组,低位在前,高位在后

    /**
     * 将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;
    }

  1.2 byte 数组转 int,低位在前,高位在后

    /**
     * byte数组中取int数值,本方法适用于(低位在前,高位在后)的顺序,和和intToBytes()配套使用
     *
     * @param src    byte数组
     * @param offset 从数组的第offset位开始
     * @return int数值
     */
    public static int bytesToInt(byte[] src, int offset) {
        int value = ((src[offset] & 0xFF) | ((src[offset + 1] & 0xFF) << 8) | ((src[offset + 2] & 0xFF) << 16) | ((src[offset + 3] & 0xFF) << 24));
        return value;
    }

2. 大端模式转换

  2.1 int 转 byte 数组,高位在前,低位在后

    /**
     * 将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;
    }

  2.2 byte 数组转 int,高位在前,低位在后

    /**
     * byte数组中取int数值,本方法适用于(低位在后,高位在前)的顺序。和intToBytes2()配套使用
     */
    public static int bytesToInt2(byte[] src, int offset) {
        int value = (((src[offset] & 0xFF) << 24) | ((src[offset + 1] & 0xFF) << 16) | ((src[offset + 2] & 0xFF) << 8) | (src[offset + 3] & 0xFF));
        return value;
    }

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 中大小端 int 与 byte 数组转换 的相关文章

  • Spring Data:限制自定义查询的结果

    在我的 Spring 数据存储库中 我 必须 使用自定义查询 Query注解 我知道我可以限制这样的命名查询中的结果数量 Iterable
  • 如何将列表转换为地图?

    最近我和一位同事讨论了转换的最佳方式是什么List to Map在 Java 中 这样做是否有任何具体的好处 我想知道最佳的转换方法 如果有人可以指导我 我将非常感激 这是个好方法吗 List
  • 使用 xuggle 将 mp3 转换为 wav 出现异常

    我正在尝试将 mp3 转换为 wav 代码在这里 String mp3 F work pic2talk38512 mp3 String wav F work pic2talk38512 wav TranscodeAudioAndVideo
  • Java 9 中可以使用提前编译吗?

    As per JEP 295 http openjdk java net jeps 295 任何 JDK 模块 类或用户代码的 AOT 编译都是实验性的 JDK 9 中不支持 要使用 AOT 化的 java base 模块 用户必须编译该模
  • 我需要显式关闭连接吗?

    我持有一个实例MongoClient and DB在我的应用程序中 每次我想执行某些操作时 我都会调用getCollection 我想知道是否需要显式关闭连接 就像connection close 在 JDBC 中 强调一下 我只有一个Mo
  • 在 JavaFX 中拖动未装饰的舞台

    我希望将舞台设置为 未装饰 使其可拖动且可最小化 问题是我找不到这样做的方法 因为我遇到的示例是通过插入到主方法中的方法来实现的 我想通过控制器类中声明的方法来完成此操作 就像我如何使用下面的 WindowClose 方法来完成此操作 这是
  • java.lang.UnsupportedOperationException:无法解析索引 13 处的属性:TypedValue{t=0x2/d=0x7f010046 a=-1}

    我在 android attrs xml 文件中添加了一个用于不同色调的属性 在 styles xml 文件中 我为这些属性指定了颜色 因此每种样式的它们都不同 Attrs xml
  • 使用 include 进行 JAXB 剧集编译不起作用

    我有 2 个模式 A B 我在 B 中重用了一些 A 元素 我不使用命名空间 我在用着
  • Akka 和 spring 配置

    我正在尝试将 akka 与 spring 结合起来 但没有成功 基本上 我的应用程序似乎不习惯读取 akka 模式 具有架构的 service context xml 的一部分
  • wsdl 没有服务元素

    我必须使用 WCF Web 服务并获得 WSDL 外部的 因此无法控制 WSDL 在 WSDL 定义中 我没有找到包含服务 端口和地址元素的服务元素 WSDL 中不存在这种情况正常吗 这对于 WCF WSDL 来说很常见吗 我正在尝试使用轴
  • 多对多不检索映射数据

    Spring boot 2 5 6 我无法安装版本 概要文件 java Getter Setter NoArgsConstructor AllArgsConstructor EqualsAndHashCode FieldDefaults l
  • java Runtime.getRunTime().exec 和通配符?

    我正在尝试使用删除垃圾文件 Process p Runtime getRuntime exec 只要我不使用通配符 它 就可以正常工作 即 Process p Runtime getRuntime exec bin rm f specifi
  • java 1.8下无法启动eclipse

    java 1 8 升级后我无法启动 eclipse 附上错误截图 这是我的 eclipse 配置设置 我该如何解决 startup plugins org eclipse equinox launcher 1 3 0 v20120522 1
  • 将变量从 jenkins 传递到 testng.xml

    我想根据从詹金斯传递的变量运行测试用例 例如 选择您要运行的测试用例 测试用例一 测试用例二 在 pom xml maven 中
  • 使用链接列表插入优先级队列的方法

    首先 我觉得我应该提到这是一项作业 我并不是在寻找直接的代码答案 只是为了指出正确的方向 我们被要求在链表中实现优先级队列 我正在努力编写 insert 函数的第一部分 在代码中我尝试检查是否head包含任何内容 如果没有则设置为head
  • 如何使用 Nimbus LookAndFeel 更改 JToolTip 的背景颜色?

    在使用 Nimbus LookAndFeel 的基于 Swing 的 Java 应用程序中 我尝试设置工具提示的背景颜色 因此 我创建了 JToolTip 的子类 并通过重写 createToolTip 在我的组件中使用它 到目前为止一切正
  • Java 相当于 Python 的 urllib.urlencode(基于 HashMap 的 UrlEncode)

    From https stackoverflow com questions 2018026 should i use urllib or urllib2 2018103 2018103 Java 中 Python 的 urllib url
  • spring data jpa 过滤 @OneToMany 中的子项

    我有一个员工测试实体是父实体并且FunGroup信息子实体 这两个实体都是通过employeeId映射 我需要一种方法来过滤掉与搜索条件匹配的子实体 以便结果仅包含父实体和子实体 满足要求 员工测试类 Entity name Employe
  • 升级到 Tomcat 8 时出现 ClassNotFoundException

    我最近将 NetBeans IDE 从 v7 3 升级到 v8 突然我的应用程序在连接到数据库时在服务器启动时抛出异常 这两个版本的 IDE 之间的唯一区别是后者使用 Tomcat 8 异常日志 javax naming NamingExc
  • 安卓框架?

    是否有任何框架比构建 Android 应用程序更容易 您会对其中一个感兴趣吗 很快就会有 我正在开发 DroidFu 一个 Android 共享库 它将为您提供 活动 和服务 中直接提供大量实用功能 例如生成列表和错误对话框 检查 Inte

随机推荐

  • 质量管理五大工具详解

    1 统计过程控制 xff08 SPC xff0c Statistical Process Control xff09 xff1b Statistical Process Control 是一种制造控制方法 xff0c 是将制造中的控制项目
  • 用pyinstaller打包python遇到的坑

    最近写了一个小程序 xff0c 用到了pandas xff0c matplotlib模块 xff0c 打包时出现各种问题 xff0c 总结下走过的坑 因为之前使用openpyxl写过一个更简单的程序 xff0c 仅用来读写excel xff
  • 8D报告组成部分

    8D问题解决法 xff08 Eight Disciplines Problem Solving xff0c 缩写 xff1a 8D xff09 也称为团队导向问题解决方法或8D report xff0c 是一个处理及解决问题的方法 xff0
  • 高通cDSP介绍汇总

    Qualcomm Hexagon Compute DSP cDSP 是高通平台上专门用来做通用计算的硬件加速单元 xff0c 与主机 CPU 相比 xff0c DSP 通常以较低的时钟速度运行 xff0c 并提供更多的并行指令级 这使得 D
  • PCB拼板方式

    Pcb拼板方式一般有三种 xff1a V割 V CUT 邮票孔以和空心连接条 PCB拼板方式 V割 V割 xff0c 又称V CUT xff0c 在规则板中使用较多 V割是在两个板子的连接处画一个槽 xff0c 只要将两个板子拼在一起 xf
  • 车联网名词缩写含义

    TSP xff1a Telematics Service Provider xff1b DSRC xff1a 专用短程通信技术是一种新型的技术 xff0c Dedicated Short RangeCommunication DSRC xf
  • 质量管理PPAP说明

    PPAP是英文Production Part Approval Process的缩写 xff0c 中文翻译为生产件批准程序 PPAP是TS16949质量管理体系五大工具之一 xff0c 用于汽车整车或零部件生产过程的质量管控 各种质量管理类
  • Vlookup最经典的10种用法

    该函数的语法规则如下 xff1a VLOOKUP lookup value table array col index num range lookup 参数 简单说明 输入数据类型 lookup value 要查找的值 数值 引用或文本字
  • 宝马项目化流程标准(BMW ABC flyer requirement)

    ABC flyer BMWQMT build phase requirement 宝马的项目流程标准叫做ABC flyer 也叫QMT build phase requirement 为什么叫这么名字 xff0c 是因为宝马项目的产品零件分
  • 数字无线广播(DAB、DRM)

    1 什么是数字广播 数字化技术指的是运用0和1两位数字编码 xff0c 通过电子计算机 光缆 通信卫星等设备 xff0c 来表达 传输和处理所有信息的技术 数字化技术一般包括 数字编码 数字压缩 数字传输 数字调制 与解调 等技术 所谓的数
  • 什么是IPD管理体系?

    集成产品开发 xff08 Integrated Product Development 简称IPD xff09 是一套产品开发的模式 理念与方法 源于美国PRTM公司出版的 产品及生命周期优化法 一书 最具有代表实践者有IBM和华为 IPD
  • 全球整车开发流程(GVDP)

    整车开发流程用于整车开发的管理控制 xff0c 其中换代开发 换型开发 年度改型开发和变型开发可以根据所开发产品的特点或资源环境需求 产品开发流程图 产品开发参考周期 如下 xff1a 1 平台项目 开发全新的车型平台 xff0c 采用全新
  • DataFrame 切片取值

    基本格式 xff1a dataframe 列名 1 取多列 列名要用中括号括起来 xff0c 所以下述命令 dataframe P4 profit rate P3PS P3NS 没问题 返回pandas core frame DataFra
  • APQP(advanced product quality planning先期产品质量策划)

    APQP xff08 advanced product quality planning先期产品质量策划 xff09 xff0c 圈子里面无论是做研发 做项目还是做SQE的都不陌生 xff0c 很多时候 xff0c 尤其是SQE会比较困惑
  • 8D和A3报告

    8D和3A报告 xff0c 他们都不仅仅是记录问题的一种文书 xff0c 而是解决问题的工具 A3发展于TPS xff08 Toyota Production system xff09 xff0c 可以用来解决问题 xff0c 沟通 xff
  • Ubuntu出现包依赖错误的解决方法

    大家在使用apt get安装软件时经常会出现这种包依赖错误 这主要是因为apt get的源中没有所要安装的package的依赖包 主要有以下两种解决方案 xff1a xff11 将CD加入Ubuntu的apt get源 参见我的另一篇博客
  • stm32 类型转换

    stm32怎么把uint8 t类型转换成int类型 可以使用强制类型转换 xff1a int n 61 int uint8 t 参考例子 xff1a include lt stdio h gt int main void uint8 t a
  • C语言不带头结点链表创建,删除,插入总结

    一 创建链表 1 第一种创建链表的方法 xff0c 注意对比和第二种创建链表的细微之处 xff0c typedef struct mynode int num float score struct mynode next Node Pnod
  • http协议基本认证 Authorization

    http协议是无状态的 xff0c 浏览器和web服务器之间可以通过cookie来身份识别 桌面应用程序 比如新浪桌面客户端 xff0c skydrive客户端 跟Web服务器之间是如何身份识别呢 xff1f 阅读目录 什么是HTTP基本认
  • Java 中大小端 int 与 byte 数组转换

    1 小端模式转换 1 1 int 转 byte 数组 xff0c 低位在前 xff0c 高位在后 将int数值转换为占四个字节的byte数组 xff0c 本方法适用于 低位在前 xff0c 高位在后 的顺序 和bytesToInt xff0