整型int和字节数组byte相互转换

c++实现整型和字节数组间的转化 整型转换到字节数组 在网络传输中经常需要将整型数字转换成字节数组,然后将字节数组发送到客户端,在c++,int是4个字节,long是8个字节。废话不说,代码如下(byte类型是uchar): int32_t bytesto_int4(byte *bytes) { //turn bytes array to integer int32_t num = bytes[0] &... 阅读详情

Java中整型int和字节数组byte相互转换,在网络编程中这个算法是最基本的算法,我们都知道,在socket传输中,发送、者接收的数据都是 byte数组,但是int类型是4个byte组成的,如何把一个整形int转换成byte数组,同时如何把一个长度为4的byte数组转换为int类型,分别上传Java版本代码和kotlin版本代码(刚学的,试试手,代码运行结果经过校验无误)

Java版本

/**
 * Created by tao.liu on 2017/6/20 0020.
 * 整型int和字节数组byte相互转换
 */
public class Test {
    public static void main(String[] args) {
        int data = 212123;
        System.out.println(data);
        byte[] toByteArray = toByteArray(data, 4);
        for (int i = 0; i < toByteArray.length; i++) {
            System.out.println("["+i+"] = "+toByteArray[i]);
        }
        int i = toInt(toByteArray);
        System.out.println(i);
    }
    /**
     * int数据转数组byte
     *
     * @param source
     * @param len
     * @return
     */
    public static byte[] toByteArray(int source, int len) {
        byte[] target = new byte[len];
        for (int i = 0; i < 4 && i < len; i++) {
            target[i] = (byte) (source >> 8 * i & 0xff);
        }
        return target;
    }
    /**
     * 数组byte转int数据
     * @param source
     * @return
     */
    public static int toInt(byte[] source) {
        int target = 0;
        for (int i = 0; i < source.length; i++) {
            target += (source[i] & 0xff) << 8 * i;
        }
        return target;
    }
}
运行结果:
212123
[0] = -101
[1] = 60
[2] = 3
[3] = 0
212123

kotlin版本

import kotlin.experimental.and

/**
 * Created by tao.liu on 2017/6/20 0020.
 * 整型int和字节数组byte相互转换
 */

fun main(args: Array<String>) {
    var data = 212123
    println(data)
    val toByteArray = toByteArray(data, 4)
    for (b in toByteArray.indices){
        print("${toByteArray[b]} ")
    }
    println()

    val toInt = toInt(toByteArray)
    println(toInt)
}

/**
 * int数据转数组byte
 */
fun toByteArray(source: Int, len: Int): ByteArray {
    var target = byteArrayOf(0,0,0,0)
    var index = 0
    while ((index < 4) && (index < len)) {
        target[index] = (source.shr(8*index)and 0xff).toByte()
        index++
    }
    return target
}

/**
 * 数组byte转int数据
 */
fun toInt(source: ByteArray):Int{
    var target = 0
    var index = 0
    while (index<source.size){
        target+=(source[index].toInt() and 0xff).shl(8*index)
        index++
    }
    return target
}
运行结果:
212123
-101 60 3 0 
212123

从AAAI被拒到ACM MM录用:我的论文转投与Rebuttal实战经验 学术论文投稿是科研工作者的必经之路,而审稿意见的处理与转投策略往往直接决定研究成果的最终归属。一篇论文从初稿到录用,不仅依赖实验的扎实程度,更取决于作者对审稿人反馈的深度拆解与高效响应。Rebuttal作为作者与审稿人沟通的关键环节,需要聚焦核心矛盾、用实验证据回应质疑,而非逐条解释。同时,合理评估目标会议的定位与自身工作的匹配度,在拒稿后选择转投路线,同样能大幅提升录用概率。本文以一篇从AAAI 2025被拒后转投ACM MM 2025并成功录用的论文为例,系统复盘了投稿定位、审稿意见分类、时间规划、论文 阅读详情

相关推荐

(QT) int 与 字节数组相互转换

int转4字节数组 QByteArray SCL::intTo4ByteArray(int i) { QByteArray ba; ba.resize(4); ba[0] = (uchar)(0x000000ff & i); ba[1] = (uchar)((0x0000ff00&i)>>8); ba[2] = (uchar)...

科学技术是第一生产力 1万+

int与byte之间的相互转化

目录1 主函数2 int转...

别抢我蓝buff 5169

Java系列之:实现整型类型与byte[]相互转换的工具

Java系列之:实现整型类型与byte[]相互转换的工具

zhengzaifeidelushang的博客 1448

byte[]数组和int之间的转换

转载自:https://www.cnblogs.com/lizhenlin/p/6807856.html 这里简单记录下两种转换方式: 第一种: 1、int与byte[]之间的转换(类似的byte short,long型)   [java] view plain copy   /**       * 将int数值转换为占四个字节的byte数组,本方法适用于(低位在前,高位在后)的顺...

feiyingzaishi的博客 3545

高斯投影坐标正反算算法(python)

高斯坐标正反算算法,在正算的时候,y的第一个数字表示是用几度带换算的,第二个数字和第三个数字表示带号。该程序是根据武汉大学出版社出版的第三版的《大地测量学基础》编写, 用于课程实验学习。

weixin_64338372的博客 4588

如何下载era5数据?(两种方式)

供水利大数据云计算课程同学参考使用#

Camiel_sweet的博客 1万+

int和byte数组相互转换详解

将int数值转换为占四个字节的byte数组,如下/*** 将int数值转换为占四个字节的byte数组,(高位在前,低位在后的顺序)。* @param value 要转换的int值* @return byte数组*/return src;将占四个字节的byte数组转换为int数值/*** 将占四个字节的byte数组转换为int数值,(高位在前,低位在后的顺序)。* @param src 占四个字节的byte数组* @return int数值*/int value;

Billy_Zuo的博客 9001

华硕ROG幻16笔记本电脑模式切换管理工具完美替代华硕奥创中心管理工具

参考文档1这个工具可以完美替代华硕奥创中心工具,可以定制化不同模式下的CPU、GPU、风扇转速、电池计划等。是由华硕开发人员开发的一个纯绿色的系统管理工具。直接展示启动后的工具界面效果图:这个工具也可以一键式停止正在运行的华硕ASUS服务,减少不必要的资源消耗。

追梦&天空的博客 1万+

Java 字节数组(byte[])和整型(int)的相互转换

Java 字节数组(byte[])和整型(int)的相互转换

Little_ant_的博客 2万+

iTunes登录协议全解析:从抓包到签名验证(含HTTPDebugger避坑指南)

本文深入解析了iTunes登录协议的核心流程,包括sign-sap-setup-cert和sign-sap-setup-buffer等关键请求,并提供了使用HTTPDebugger等工具进行抓包分析时绕过反调试检测的实战技巧与避坑指南。文章详细拆解了PLIST编解码、请求签名验证机制及密码加密逻辑,为网络安全研究和协议逆向提供了完整的技术路径。

weixin_29224309的博客 331

手把手教你用RMII接口配置以太网PHY芯片(附YT8512实战代码)

本文详细介绍了如何使用RMII接口配置以太网PHY芯片,以国产YT8512为例,提供从硬件设计到软件驱动的全流程实战指南。内容包括RMII接口技术解析、YT8512硬件设计要点、驱动开发实战代码及常见问题排查,帮助开发者快速实现以太网通信功能。

mac99的博客 996

整型变量(int)与字节数组(byte[])的相互转换

// int2byte.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include /* #define MAKEWORD(a, b) ((WORD)(((BYTE)(((DWORD_PTR)(a)) & 0xff)) | ((WORD)((BYTE)(((DWORD_PTR)(b)) & 0xff))) << 8)) #define MAKEL

菜头 1万+

2024年物联网嵌入式最新嵌入式期末大作业——家用智能晾衣杆,初面蚂蚁金服

在家用智能晾衣杆中,用户可以根据自身的需要,切换手动和自动两个模式。天气对应的接口对应心知天气的天气图,可以下载后:调整尺寸->调整透明度->用画图工具保存为单色位图->提取出点阵信息(如我用的zimoV2.2软件),将点阵信息,存到数组里,根据weather的信息,调用display.drawBitmap()方法就能打印出对应的天气了。该库依赖于,将他们导入后,设置屏幕的主从关系,片选信号和数据,时钟信号等引脚后,就设置好屏幕的驱动。

2401_85013604的博客 1247

python bytes转int数组_整型变量(int)与字节数组(byte[])的相互转换

//int2byte.cpp:定义控制台应用程序的入口点。//#include"stdafx.h"#include/*#defineMAKEWORD(a,b)((WORD)(((BYTE)(((DWORD_PTR)(a))&0xff))|((WORD)((BYTE)(((DWORD_PTR)(b))&0xff)))<#defineMAKELONG...

weixin_39941721的博客 1091

智能体评测技术与实践:从评估维度到DeepEval实战指南

智能体评测技术与实践:从评估维度到DeepEval实战指南 本文系统探讨了AI智能体的评测体系与实践方法。首先从四个关键维度构建评估框架:基础能力(意图理解、知识完整性)、复杂任务(多轮对话、动态工作流)、可靠性(幻觉抑制、安全合规)以及工具效率(参数填充、多工具协同)。其次分析了主流评测工具,包括xBench的动态双轨评估、DeepEval的全链路监控等解决方案。最后详细介绍了DeepEval的实战应用,涵盖环境配置、测试用例构建、指标配置及CI/CD集成,展示了如何通过代码化评估实现智能体质量的持续提升

Linda的自动化测试之旅 3416

双三相电机控制避坑指南:为什么你的SVPWM谐波大?四矢量调制实战解析

本文深入解析双三相电机控制中SVPWM谐波大的问题,并提供四矢量调制实战方案。通过分析谐波来源、四矢量调制原理及工程实现步骤,显著降低电流THD至3-5%,提升系统效率2.3个百分点。特别适合需要优化电机控制的工程师参考。

weixin_30645617的博客 397

C# int和byte[]之间的互转

方法1:使用左移和右移 1、int转化为byte[]: public byte[] intToBytes(int value) { byte[] src = new byte[4]; src[3] = (byte)((value >> 24) & 0xFF); src[2] = (byte)((value >> 16) & 0xFF); src[

ba_wang_mao的专栏 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

java整型数与网络字节序的 byte[] 数组转换关系【转】

原文:http://fire11.iteye.com/blog/1029925 因工作需要在java和c/c++之间进行socket通信,而socket通信是以字节流或者字节包进行的(这相当于java的byte[]数组),所以需要在java数据类型和网络字节流(包)之间进行转换。网上这方面的资料不少,但往往不全,甚至有些有错漏。于是自己花时间对java整型数和网络字节序的byte[]...

weixin_30686845的博客 319

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

java中int、long与byte数组相互转换

1、 public static byte[] intToByteArray2(int a) { return new byte[] { (byte) ((a >> 24) & 0xFF), (byte) ((a >> 16) & 0xFF), (byte) ((a >> 8) & 0x

liyongjian12的博客 583

GO语言学习笔记3-int与byte类型转换

1.主机字节序 主机字节序模式有两种,大端数据模式和小端数据模式。在网络编程中应注意这两者的区别,以保证数据处理的正确性。例如,网络的数据是以大端数据模式进行交互,而我们的主机大多数以小端模式处理,如果不转换,数据会混乱 。 参考:一般来说,两个主机在网络通信需要经过如下转换过程:主机字节序 -> 网络字节序 -> 主机字节序 2.大端小端区别 大端模式:Big-Endian就是高位字...

Codeapes 1237

java实现int整型转换成byte[]字节数组

java实现int整型和byte[]字节数组之间的转化1 1.首先我们要了解计算机存储都是以“补码”形式存储的,这里简单说一下原码,反码,补码 原码:将一个整数,转换成二进制,就是其原码。 反码:正数的反码就是其原码;负数的反码是将原码中,除符号位以外,每一位取反。 补码:正数的补码就是其原码;负数的反码+1就是补码。 然后在java中int类型占4个byte(字节),1个byte(字节)占8个b...

hongfenglx的博客 7688

int与byte、byte[]相互转换

一、int to byte 范围在 -128 ~ 127之间可以直接转换,超出这个范围就乱了。 int i = 127; byte b = (byte) i; Integer i = 127; i.byteValue(); 二、byte to int // byte to int (int仍有正负) static int byte2Int(byte byt){ // 直接强转 ...

打不死的小强lee的博客 2万+
上一篇: EventBus3.0入门级使用
下一篇: 安全广播LocalBroadcastManager
program008
博客等级 码龄11年 5粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值