int与byte[]之间进行转换

2023-11-15

如何将int与byte[]之间转换;

int类型在内存中占4个字节,采用补码方式存储,而一个byte占一个字节。下面有两种方法进行转换:

package cn.fh.vertxboot.utils;

/**
 * @description: int与Byte数组转换
 **/
public class ByteUtils {

    /*
    int转byte[]
    *将int数值转换为占四个字节的byte数组,int低位在前,高位在后
    * */
    public static byte[] intToBytes(int value){
        byte[] bytes = new byte[4];
        for (int i = 0; i < bytes.length; i++){
            int n = bytes.length - 1 -i;
            bytes[4 - i - 1] = (byte)((value>>8*n));
        }
        return bytes;
    }


    /*
    *byte[]转int
    * 适用于低位在前高位在后
    * */
    public static int byteToInt(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;
    }

     /*
    *int转byte[]
    *将int数值转换为占四个字节的byte数组,int高位在前低位在后
    * */
    public static byte[] intToBytes2(int value) {
        byte[] bytes = new byte[4];
        for (int i = 0; i < bytes.length; i++){
            int n = bytes.length - 1 -i;
            bytes[i] = (byte)((value>>8*n));
        }
        return bytes;
    }

    /**
    byte[]转int,高位在前低位在后
     */

    public static int byteToInt2(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;
    }

    public static void main(String[] args) {
        System.out.println("int转byte[]低位在钱高位在后");
        byte[] bytes = intToBytes(1999);
        for (int n = 0; n < bytes.length; n++){
            System.out.println(bytes[n]);
        }
        System.out.println("byte[]转int地位在前高位在后");
        int value = byteToInt(bytes,0);
        System.out.println(value);

        System.out.println("----------------------------");

        System.out.println("byte[]转int地位在前高位在后");
        byte[] bytes2 = intToBytes2(1999);
        for (int n = 0; n < bytes2.length; n++){
            System.out.println(bytes[n]);
        }
        System.out.println("byte[]转int地位在前高位在后");
        int value2 = byteToInt2(bytes2,0);
        System.out.println(value2);
    }
}

结果如下:
!](https://img-blog.csdnimg.cn/20200912142557250.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3OTA5MTQx,size_16,color_FFFFFF,t_70#pic_center)

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

int与byte[]之间进行转换 的相关文章

  • Spring Security 自定义过滤器

    我想自定义 Spring security 3 0 5 并将登录 URL 更改为 login 而不是 j spring security check 我需要做的是允许登录 目录并保护 admin report html 页面 首先 我使用教
  • Java:无法从同一包中的不同类访问静态变量

    这很奇怪 因为我有一个可以访问 Frame dimension getWidth 的 Character 类 及其伙伴 getHeight 但是当我想在 Map 类中使用它时 Eclipse 强调了它并且无法给我反馈 运行该程序最终会出现
  • 如何在 Firebase 远程配置中从 JSON 获取值

    我是 Android 应用开发和 Firebase 的新手 我想知道如何获取存储在 Firebase 远程配置中的 JSONArray 文件中的值 String 和 Int 我使用 Firebase Remote Config 的最终目标是
  • 使用 GWT 读取非常大的本地 XML 文件

    我正在使用 GWT 构建我的第一个 Java 应用程序 它必须从一个非常大的 XML 文件中读取数据 当我尝试发送对文件中信息的请求时遇到问题 并且我不太确定它是否与文件的大小或我的语义有关 在我的程序中 我有以下内容 static fin
  • 是否有任何简单(且最新)的 Java 框架可用于在 Swing 应用程序中嵌入电影?

    我正在构建一个小型 Swing 应用程序 我想在其中嵌入一部电影 重要的是 这个应用程序是一个 WebStart 应用程序 并且该库应该能够打包在我启动的 jnlp 中 即 不依赖于本机库 我知道并尝试过 JMF 但我认为与其他框架相比 其
  • 如何在 Antlr4 中为零参数函数编写语法

    我的函数具有参数语法 如下面的词法分析器和解析器 MyFunctionsLexer g4 lexer grammar MyFunctionsLexer FUNCTION FUNCTION NAME A Za z0 9 DOT COMMA L
  • 不同类型的数组

    是否可以有一个包含两种不同类型数据的数组 我想要一个包含双精度型和字符串的数组 我尝试过 ArrayList
  • Spring RestTemplate 使用 cookie 遵循重定向

    最近我遇到了一个问题 我需要做一个GET请求远程服务 我假设使用一个简单的 servlet 并且 RestTemplate 返回Too many redirects 经过一番调查 似乎对指定远程服务发出的第一个请求实际上只是一个 302 重
  • Kotlin 未解决的参考:CLI 上 gradle 的 println

    放一个printlnkotlin 函数返回之前的语句会崩溃 堆栈跟踪 thufir dur NetBeansProjects kotlin thufir dur NetBeansProjects kotlin gradle clean bu
  • 来自十六进制代码的 Apache POI XSSFColor

    我想将单元格的前景色设置为十六进制代码中的给定颜色 例如 当我尝试将其设置为红色时 style setFillForegroundColor new XSSFColor Color decode FF0000 getIndexed 无论我在
  • 什么时候可以在 Java 中使用 Thead.stop() ?

    Thread stop 的 Java 文档听起来好像如果您调用 Thread stop 世界就会终结 已弃用 这种方法本质上是不安全的 停止线程 Thread stop 导致它解锁所有已锁定的监视器 作为未经检查的 ThreadDeath
  • 如何检测 Java 字符串中的 unicode 字符?

    假设我有一个包含 的字符串 我如何找到所有这些 un icode 字符 我应该测试他们的代码吗 我该怎么做呢 例如 给定字符串 A X 我想将其转换为 AYXY 我想对其他 unicode 字符做同样的事情 并且我不想将它们存储在某种翻译映
  • 内部存储的安全性如何?

    我需要的 对于 Android 我需要永久保存数据 但也能够编辑 并且显然是读取 它 用户不应访问此数据 它可以包含诸如高分之类的内容 用户不得对其进行编辑 我的问题 我会 并且已经 使用过Internal Storage 但我不确定它实际
  • 读取电子邮件的文本文件转换为 Javamail MimeMessage

    我有一个电子邮件原始来源的文本文件 直接从 gmail 复制 如果您单击 查看原始文件 您就会看到它 我想读入该文件并将其转换为 MimeMessage 如果您好奇为什么 我设置了 JavaMaildir 并且需要用电子邮件填充它的收件箱以
  • 使用 Mockito 模拟某些方法,但不模拟其他方法

    有没有办法使用 Mockito 模拟类中的某些方法 而不模拟其他方法 例如 在这个 诚然是人为的 Stock我想嘲笑的班级getPrice and getQuantity 返回值 如下面的测试片段所示 但我想要getValue 执行乘法 如
  • 如何在 Java 中创建接受多个值的单个注释

    我有一个名为 Retention RetentionPolicy SOURCE Target ElementType METHOD public interface JIRA The Key Bug number JIRA referenc
  • 返回 Java 8 中的通用函数接口

    我想写一种函数工厂 它应该是一个函数 以不同的策略作为参数调用一次 它应该返回一个函数 该函数根据参数选择其中一种策略 该参数将由谓词实现 嗯 最好看看condition3为了更好的理解 问题是 它没有编译 我认为因为编译器无法弄清楚函数式
  • 使用按钮作为列表的渲染器

    我想使用一个更复杂的渲染器 其中包含列表的多个组件 更准确地说 类似于this https stackoverflow com questions 10840498 java swing 1 6 textinput like firefox
  • org.apache.commons.net.io.CopyStreamException:复制时捕获 IOException

    我正在尝试使用以下方法中的代码将在我的服务器中创建的一些文件复制到 FTP 但奇怪的是我随机地低于错误 我无法弄清楚发生了什么 Exception org apache commons net io CopyStreamException
  • Spring表单ModelAttribute字段验证避免400 Bad Request错误

    我有一个ArticleFormModel包含正常发送的数据html form由 Spring 使用注入 ModelAttribute注释 即 RequestMapping value edit method RequestMethod PO

随机推荐

  • 整数转换成罗马数字

    给定一个整数num 1 lt num lt 3999 将整数转换成罗马数字 如1 2 3 4 5对应的罗马数字分别位I II III IV V等 格式 第一行输入一个整数 接下来输出对应的罗马数字 输入 123 输出 CXXIII 我的解法
  • 如何让Object 变得有序

    如何让Object 变得有序 1 方法一 继承Comparable 实现CompareTo方法 CompareTo 只有一个参数 但它有四个限制条件 具体我也没有研究 可查看相关信息 如果该类实现这个方法它就具有比较规则定义 那么以后放在C
  • SpringBoot——配置文件的分类

    简单介绍 在之前我们写配置文件的时候 我们直接在项目中的resources下面编写的配置文件 其实除了在这个路径下编写配置文件 还可以在其他的地方编写配置文件 并且不同位置的配置文件在启动的时候的优先级也是不一样的 1 在resources
  • java list 默认排序_List集合排序(默认及自定义排序)

    一 java提供的默认list排序方法 主要代码 List list new ArrayList list add 王硕 list add 刘媛媛 list add 刘迪 list add 刘布 升序 Collections sort li
  • 数据类型与printf,scanf函数

    printf与scanf函数 printf函数是一个格式化输出函数 scanf 函数则是一个输入函数 其一般的调用格式 scanf 格式控制 地址列表 其中格式控制一般是双引号中间加一些字符 由 与格式符组成 用于控制输入的格式 比如 d
  • 内存条 udimm rdimm 等和 ECC 功能

    RDIMM registered DIMM Registered Dual In line Memory Module 带寄存器的双线内存模块 表示控制器输出的地址和控制信号经过Reg寄存后输出到DRAM芯片 控制器输出的时钟信号经过PLL
  • MySQL 查询语句大全

    目录 基础查询 直接查询 AS起别名 去重 复 查询 条件查询 算术运算符查询 逻辑运算符查询 正则表达式查询 模糊查询 范围查询 是否非空判断查询 排序查询 限制查询 分页查询 随机查询 分组查询 HAVING 高级查询 子查询 嵌套查询
  • vs显示行号

    工具 gt 选项 gt 文本编译器 gt 然后选择对应的编程语言 gt 在右侧 行号前的对勾打上确定即可
  • 【知识分享】Modbus通信协议详解

    一 协议 这里分两部分 Modbus和协议 首先什么是协议 百度解释下就是 意思是共同计议 协商 经过谈判 协商而制定的共同承认 共同遵守的文件 比如大学毕业找工作的时候 一般要签一份叫 三方协议 的 三方指自己 校方 企业 这份协议里规定
  • kali学习4——使用msfvenom制作exe木马

    使用msfvenom制作exe木马文件 1 msfvenom msfvenom是msfpayload msfencode的结合体 使用msfvenom制作木马的思路是 木马在目标机上执行后 向本机发送信息 而本机则需要开启监听状态 收到信息
  • 2021级新生个人训练赛第38场

    问题 A chicken 题目描述 小 x 非常喜欢小鸡翅 他得知 NSC 超市为了吸引顾客 举行了如下的活动 一旦有顾客在其他超市找到更便宜的小鸡翅 NSC 超市将免费送给顾客 1000g 小鸡翅 小 x 为了尽可能的省钱 走遍了各大超市
  • java Unreachable错误

    Unreachable code 错误 不可达代码 比如在循环的break或者return后面的代码就是不可达代码 因为执行它们之前就已经跳出循环了 只要把这段代码移到break return之前就好了 参考https blog csdn
  • np.mean()和np.std()函数

    一 np mean 函数定义 numpy mean a axis dtype out keepdims mean 函数功能 求取均值 经常操作的参数为axis 以m n矩阵举例 axis 不设置值 对 m n 个数求均值 返回一个实数 ax
  • kibana启动问题:Kibana server is not ready yet

    第一点 KB ES版本不一致 网上大部分都是这么说的 解决方法 把KB和ES版本调整为统一版本 第二点 kibana yml中配置有问题 通过查看日志 发现了Error No Living connections的问题 解决方法 将配置文件
  • Vue3通透教程【八】获取DOM、操作组件

    文章目录 写在前面 Vue2 ref 的使用 Vue3获取DOM Vue3操作组件 写在最后 写在前面 专栏介绍 凉哥作为 Vue 的忠实 粉丝输出过大量的 Vue 文章 应粉丝要求开始更新 Vue3 的相关技术文章 Vue 框架目前的地位
  • 【Linux】计算机操作系统和软硬件体系结构

    目录 1 冯诺依曼体系结构 1 1 中央处理器 CPU 2 操作系统 OS 2 1 操作系统的概念 2 2 操作系统的作用 2 3 操作系统如何进行管理 2 3 1 操作系统通过分级管理的方式 实现对整体的管理 2 3 2 管理的本质是对数
  • 如何使用chrome 浏览器自带截屏?

    1 ctrl shift c 2 ctrl shift p 3 输入 capture 4 选择capture full size screenshot 实现截取整个网页
  • enscape各种材质参数_它来了!Enscape专属素材库!

    ENSCAPE素材库 近两年风靡整个设计的渲染器 一款实时渲染软件Enscape 凭借入门低 成效快 效果逼真 从渲染界脱颖而出 用其他渲染器1 的时间渲出VRAY等老大哥级别90 的效果 作为建筑师的你会怎么选择呢 简单的分析了下渲染界最
  • MySQL connector/C++ 连接mysql效率低下解决

    这个问题 说解决也不算是被解决了 只能是让数据库插入的时候不会有像直接插入一样有那么多的问题了 我的解决方法是 开启mysql的事务 开始我也不知道是不是我的mysql配置优化的问题 WAMP统一安装 无限默认下一步的 在用PHP测试的时候
  • int与byte[]之间进行转换

    如何将int与byte 之间转换 int类型在内存中占4个字节 采用补码方式存储 而一个byte占一个字节 下面有两种方法进行转换 package cn fh vertxboot utils description int与Byte数组转换