当前位置: 首页 > news >正文

java解析网络大端、小端解析方法

在这里插入图片描述

文章目录

  • 一、背景介绍
  • 二、说明
    • 核心概念:什么是字节序(Endianness)?
    • 大端字节序 (Big-Endian)
    • 小端字节序 (Little-Endian)
  • 三、不同解析方式介绍

一、背景介绍

中转台通过SNMP协议V1\V2上报中转台IP,然后程序解析入库,后来发现解析网络分大端、小端的不同解析方法。
当时数据库存多个字段:主节点IP、从节点IP、IP地址,通过看红框的部分发现就是正序和反序的区别,实际是相同的IP地址,只不过大端小端解析不同,最后结果也不同。因此记录下!
在这里插入图片描述

二、说明

核心概念:什么是字节序(Endianness)?

字节序指的是多字节数据在内存中或网络传输时,各个字节的存储顺序。

对于一个像 0x12345678 这样的32位整数(十六进制表示),它由4个字节组成:0x12, 0x34, 0x56, 0x78。
问题是:当我们把它存入内存(或通过网络发送)时,哪个字节在先?哪个字节在后?

这就产生了两种不同的规则:

大端字节序 (Big-Endian)

在这里插入图片描述

小端字节序 (Little-Endian)

在这里插入图片描述

三、不同解析方式介绍

大端解析

public String getBigEndianMasterIPAddress() {Object o = getItemValue(OID_REPEATER_MASTER_IP_ADDRESS);try {if (o != null) {int nIp = (Integer) o;byte[] ip = ByteBuffer.allocate(4).putInt(nIp).array();InetAddress ipaddr = InetAddress.getByAddress(ip);return ipaddr.getHostAddress();}} catch (UnknownHostException e) {logger.error("parse ip address error:", e);}return "";
}

小端解析

public String getMasterIPAddress() {Object o = getItemValue(OID_REPEATER_MASTER_IP_ADDRESS);try {if (o != null) {int nIp = (Integer) o;byte[] ip = new byte[]{(byte) (nIp & 0xFF),(byte) (nIp >> 8 & 0xFF),(byte) (nIp >> 16 & 0xFF),(byte) (nIp >> 24 & 0xFF)};InetAddress ipaddr = InetAddress.getByAddress(ip);return ipaddr.getHostAddress();}} catch (UnknownHostException e) {logger.error("parse ip address error:", e);}return "";
}

文章转载自:

http://Y8iMzVkU.xqffq.cn
http://q1dgYk6o.xqffq.cn
http://hZA59JMu.xqffq.cn
http://uKZmxexx.xqffq.cn
http://3uAkqZpg.xqffq.cn
http://ThZZr2lC.xqffq.cn
http://5ZZTYqmV.xqffq.cn
http://SX65AVJB.xqffq.cn
http://b5x4ORyn.xqffq.cn
http://texLAVjj.xqffq.cn
http://5QnDQjKA.xqffq.cn
http://5atBvwrG.xqffq.cn
http://P72o39RJ.xqffq.cn
http://RjeRZxKJ.xqffq.cn
http://YOqeccs5.xqffq.cn
http://Gsjg3nWb.xqffq.cn
http://1bSF7ndy.xqffq.cn
http://vA5NvYQu.xqffq.cn
http://VqHsspuc.xqffq.cn
http://ufkQUBOd.xqffq.cn
http://3PdaEQ0F.xqffq.cn
http://4G82vYiU.xqffq.cn
http://TJbPD4gd.xqffq.cn
http://S2xzviuf.xqffq.cn
http://5cqke9RA.xqffq.cn
http://4T2kPrsv.xqffq.cn
http://1w6kgIuT.xqffq.cn
http://1tgYxC8N.xqffq.cn
http://tNZluqrv.xqffq.cn
http://yjDMjXLy.xqffq.cn
http://www.dtcms.com/a/369315.html

相关文章:

  • 【1】MOS管的结构及其工作原理
  • 迅为RK3568开发板OpenHarmonyv3.2-Beta4版本测试-命令终端
  • 企业级 AI Agent 开发指南:基于函数计算 FC Sandbox 方案实现类 Chat Coding AI Agent
  • window 运维
  • Chatwith:定制你的AI 聊天机器人
  • 智慧城市SaaS平台之智慧城管十大核心功能(五):监督检查综合管理系统
  • 电脑活动追踪全解析:六款软件助企业实现数字化精细管理
  • 永磁同步电机负载估计算法--非线性扩张状态观测器
  • 逆天!影响因子0.1,竟然划分到中科院1区TOP?
  • Python数据容器介绍(列表、元组、字符串、集合、字典)
  • 2021/07 JLPT听力原文 问题一 4番
  • 【Javascript】Capacitor 文件存储在 Windows 上的位置
  • LinuxC++项目开发日志——高并发内存池(2-整体框架设计)
  • DeepSeek辅助编写在windows中利用mingw编写用到内存映射文件和expat功能的C程序
  • 【前端教程】JavaScript 实现爱好选择与全选/全不选功能
  • 安全产业 出海行动 | 安贝斯受邀参加第六届非传统安全(杭州)国际论坛:靠近国际前沿 拓宽国际视野
  • Ruoyi-vue-plus-5.x第五篇Spring框架核心技术:5.1 Spring Boot自动配置
  • 一招快速识别你的电脑是机械硬盘还是固态硬盘
  • Centos7中部署Dify
  • 微服务架构下生鲜订单分布式事务解决方案指南
  • 电机试验平台:从实验到应用的创新突破
  • GitHub每日最火火火项目(9.5)
  • 十一、标准化和软件知识产权基础知识
  • B.50.10.07-分布式锁核心原理与电商应用
  • 语音识别系统的技术核心:从声音到文字的智能转换
  • WALLX全球大使圆桌论坛成功举办,13国代表共话未来,超千人共同参与
  • 本地化部署 DeepSeek
  • 开讲啦|MBSE公开课:第五集 MBSE中期设想(下)
  • Axure笔记
  • AMD三箭齐发:MI350已成AI加速器新王牌,256颗GPU的MI500“王炸”已预定2027