字节序的大端和小端

news/2024/4/19 11:12:21/文章来源:https://blog.csdn.net/qq_24334399/article/details/129270785

字节序

字节序(Byte Order)是指在多字节的数据类型(如整型、浮点型等)在内存中存储时,字节的排列顺序。
大端字节序(Big-Endian):高位字节存储在低位地址,低位字节存储在高位地址。比如整数值 0x12345678,在内存中的存储顺序是:0x12(高位字节) 0x34 0x56 0x78(低位字节)。
小端字节序(Little-Endian):低位字节存储在低位地址,高位字节存储在高位地址。比如整数值 0x12345678,在内存中的存储顺序是:0x78(低位字节) 0x56 0x34 0x12(高位字节)。
在计算机系统中,有些 CPU 采用大端字节序,有些 CPU 采用小端字节序,因此在进行数据交换时需要注意字节序的问题,否则可能会导致数据解析错误。例如,在网络传输数据时需要将数据从本机的字节序转换为网络字节序(通常采用大端字节序)进行传输,接收端需要将数据从网络字节序转换为本机字节序进行解析。

0x代表什么

在计算机科学中,0x是一个前缀,表示其后的数字是十六进制数(Hexadecimal Number)。十六进制数是一种数学表示方法,使用 16 个不同的符号来表示数码,包括 0、1、2、3、4、5、6、7、8、9、A、B、C、D、E 和 F,其中 A 到 F 分别表示 10 到 15。

与十进制数(Decimal Number)一样,十六进制数也可以表示数字和字符。在计算机系统中,通常使用十六进制数来表示内存地址、字节值等数据。使用十六进制数能够简化二进制数据的表示和处理,因为每一位十六进制数恰好对应 4 位二进制数。

例如,0x10 表示十六进制数 16,它的二进制表示为 00010000;0xFF 表示十六进制数 255,它的二进制表示为 11111111。

python的struct库函数转换进制

Python 的 struct 模块提供了一些函数,可以方便地进行二进制数据和 Python 数据类型之间的转换。其中包括了将二进制数据转为十六进制字符串的函数 hexlify(),以及将二进制数据转为 Python 数据类型的函数 unpack()。

以下是使用 struct 模块将字节序列 “be40ee1b” 转换为十六进制字符串和十进制数的示例代码:

import struct# 将字节序列转为二进制数据
data = bytes.fromhex('be40ee1b')# 将二进制数据转为十六进制字符串
hex_str = data.hex()
print(hex_str)  # 输出:be40ee1b# 将二进制数据转为四个无符号整数
# "B" 表示一个无符号字节,">" 表示大端字节序
num1, num2, num3, num4 = struct.unpack(">BBBB", data)
print(num1, num2, num3, num4)  # 输出:190 64 238 27# 将二进制数据转为一个有符号整数
# "i" 表示一个有符号四字节整数,">" 表示大端字节序
num = struct.unpack(">i", data)[0]
print(num)  # 输出:-1104866253

在上面的代码中,bytes.fromhex() 函数将字节序列转为二进制数据,data.hex() 函数将二进制数据转为十六进制字符串。struct.unpack() 函数将二进制数据转为指定的 Python 数据类型,其中 “>BBBB” 表示将数据按大端字节序解析为四个无符号字节,“>i” 表示将数据按大端字节序解析为一个有符号四字节整数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_75575.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HU4056H耐压高达28V,具有电源OVP功能的1A单节锂离子电池线性充电IC

产品概述 HU4056H是一款完整的采用恒定电流/恒定电压的高压、大电流、单节锂离子电池线性充电 IC。最高耐压可达 28V, 6.5V 自动过压保护,充电电流可达 1A。 由于采用了内部 PMOSFET 架构,加上防倒充电路,所以不需要外部隔离二…

你问我答|虚拟机、容器和无服务器,怎么选?

在新技术层出不穷的当下,每家企业都希望不断降低成本,并提高运营效率,一个方法就是寻找不同的技术方案来优化运营。      例如,曾经一台服务器只能运行一个应用(裸机);接着,一台服务器的资源可以划分为多个块,从而运行多个应用(虚拟化);再到后来,应用越来越多,为了方便它们…

移动字母--降维与DFS

一、题目描述 2x3=6 个方格中放入 ABCDE 五个字母,右下角的那个格空着。如下图所示。 和空格子相邻的格子中的字母可以移动到空格中,比如,图中的 C 和 E 就可以移动,移动后的局面分别是: A B D E C A B C D E 为了表示方便,我们把 6 个格子中字母配置用一个串表示出…

老字号白酒企业——金徽酒借力泛微,升级门户,实现统一办公

金徽酒股份有限公司前身系康庆坊、万盛魁等多个徽酒老作坊基础上组建的省属国营大型白酒企业,曾用名甘肃陇南春酒厂,是国内建厂最早的中华老字号白酒酿造企业之一。2016年3月10日,金徽酒在上海证券交易所挂牌上市。 (图片素材来自…

计算机网络技术概述

目录第一章 概述1.1计算机网络在信息时代的作用一、计算机网络各类应用1 信息浏览和发布万维网谷歌、百度等搜索引擎博客、微博2 通信和交流电子邮件、网络电话QQ、Skype微信、Facebook、Twitter3 休闲和娱乐网络电视bilibili、youtube等视频网站互动网络游戏4 资源共享远程文件…

10月17日|实验报告|paddle paddle|概念辨析

目录 一、安装paddle paddle 第一章 零基础入门深度学习 机器学习和深度学习综述 1.人工智能、机器学习、深度学习的关系 1.1人工智能(Artificial Intelligence,AI) 1.2机器学习 1.2.1机器学习的实现 1.2.2机器学习方法论 1.3深度学习​​​​​​​ 一、安装paddle…

Hbase -- Compact工具梳理

1. 背景 当前,线上HBase集群的自动Major Compact是关闭的,我们选择在凌晨业务空闲的时候进行手动触发Major Compact,Compact工具就是在运维平台上对资源组、RS、表进行Major Compact。目前线上有2种版本的Compact程序:Compact_v1…

548、RocketMQ详细入门教程系列 -【消息队列之 RocketMQ (二)】 2023.02.28

目录一、Java 访问 RocketMQ 实例1.1 引入依赖1.2 消息生产者1.3 消息消费者1.4 启动 Name Server1.5 启动 Broker1.6 运行 Consumer1.7 运行 Producer二、参考链接一、Java 访问 RocketMQ 实例 RocketMQ 目前支持 Java、C、Go 三种语言访问,按惯例以 Java 语言为例…

IDEA社区版环境配置和插件安装

一、Java环境安装 1.1 下载openjdk环境安装包 可以进华为镜像站进行下载。参考链接: Index of openjdk-local https://repo.huaweicloud.com/openjdk/ 1.2 配置Java环境 解压缩openjdk到任意路径,建议路径不要有中文。然后把路径的bin文件&#xff0…

CSO面对面丨中核华辉刘博:应对大型央国企数字化转型道路上必须攻克的安全难题

“极致”,一直是大型央国企网络安全工作建设追求的目标。随着我国数字化转型全面走深向实,网络安全风险、数据管理、层出不穷的网络攻击,为各领域大型央国企数字化转型带来了更多的挑战。如何充分发挥优势、携手各方构筑网络安全屏障、提升安…

LeetCode 79. 单词搜索

LeetCode 79. 单词搜索 难度:middle\color{orange}{middle}middle 题目描述 给定一个 mxnm x nmxn 二维字符网格 boardboardboard 和一个字符串单词 wordwordword 。如果 wordwordword 存在于网格中,返回 truetruetrue ;否则,返…

Leetcode19. 删除链表的倒数第n个结点

一、题目描述: 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head [1,2,3,4,5], n 2输出:[1,2,3,5] 示例 2: 输入:head [1], n 1输出&#x…

JSP的分页

分页在读取数据库里的数据需要用,在以后数据库肯定还会有很多数据,一个页面装不下,所以需要分页功能。数据库查询的分页语句是“SELECT * FROM emp LIMIT 0, 5;”这里0是指起始行,5是查询5行,第二页起始行就是5&#x…

通过python技术获取甲流分布数据

近期,多地学校出现因甲流导致的班级停课,儿科甲流患者就诊量呈数倍增长。此轮甲流为何如此严重?感染甲流之后会出现哪些症状? 经过专家的介绍甲流之所以这么严重有这些原因导致的。一、疫情完全放开后很多孩子不戴口罩了&#x…

Odoo | Webserivce | 5分钟学会【JSONRPC】接口开发 - 换USERID(进阶)

文章目录JSONRPC - 换取USERID简述换取USERID1. 代码示例2. 换取结果JSONRPC - 换取USERID 简述 从Odoo JSONRPC 接口入门篇,可以发现我们直接传入了USERID,这只是为了方便快速测试。 其实按照常规流程,应该通过【用户名USERNAME】和【用户…

【办公类-19-02】Python批量制作word文本框的名字小标签,用A4word打印(植物角、家长会、值日生)

背景需求: 2月28日去小班带班,看到班主任制作了一些小手印花束作为家长会的家长座位提示,上面贴着“”圆形白色的幼儿名字贴”。 我立刻想起了制作的过程——在word中插入文本框,然后复制无数个文本框,摆好位置&#…

MyBatis学习笔记(八) —— 字段名和属性不一致的情况下,如何处理映射关系

EmpMapper.java /** * 根据id查询员工信息 * param empId * return */ Emp getEmpByEmpId(Param("empId") Integer empId);EmpMapper.xml <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//D…

day22_IO

今日内容 上课同步视频:CuteN饕餮的个人空间_哔哩哔哩_bilibili 同步笔记沐沐霸的博客_CSDN博客-Java2301 零、 复习昨日 一、作业 二、缓冲流 三、字符流 四、缓冲字符流 五、匿名内部类 零、 复习昨日 File: 通过路径代表一个文件或目录 方法: 创建型,查找类,判断类,其他 IO …

如何创建出实用的员工手册?

员工手册主要是企业内部的人事制度管理规范&#xff0c;包含企业规章制度和企业文化&#xff0c;同时还起到了展示企业形象、传播企业文化的作用。它既覆盖了企业人力资源管理的各个方面规章制度的主要内容&#xff0c;又因适应企业独特个性的经营发展需要而弥补了规章制度制定…

VIF_Benchmark: All infrare and visible image fusion method in one framework

VIF_Benchmark Github 地址: https://github.com/Linfeng-Tang/VIF_Benchmark 完整Project下载地址&#xff1a;https://download.csdn.net/download/fovever_/87514164 我们把所有主流的基于深度学习的红外和可见光图像融合方法都集成在了这个框架中。 这些方法包括&#xff1…