字节序转换

2023-11-17

一、概念
 
1.小端法(Little-Endian)就是低位字节排放在内存的低地址端(即该值的起始地址),高位字节排放在内存的高地址端;
2.大端法(Big-Endian)就是高位字节排放在内存的低地址端(即该值的起始地址),低位字节排放在内存的高地址端;
网络字节序是大端字节序
 
将主机数转换成无符号长整形的网络 字节顺序 系统函数:
#include <arpa/inet.h>
uint32_t htonl(uint32_t hostlong);
hostlong:主机 字节顺序 表达的32位数。
 
二、判断本机cpu平台字节序:
if (1 == htonl(1)),说明本机字节序跟网络字节序相同,即大端字节序,否则为小端字节序
 
三、64位主机字节序整数转换成64位网络字节序整数
uint64_t htonll(uint64_t ull)
{
    if (1 != htonl(1))
    {
        uint64_t ullRet = 0;
        char *pSrc = (char *)&ull;
        char *pDst = (char *)&ullRet;
        pDst[0] = pSrc[7];
        pDst[1] = pSrc[6];
        pDst[2] = pSrc[5];
        pDst[3] = pSrc[4];
        pDst[4] = pSrc[3];
        pDst[5] = pSrc[2];
        pDst[6] = pSrc[1];
        pDst[7] = pSrc[0];
        return ullRet;
    }
    return ull;
}

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

字节序转换 的相关文章

  • linux显示指定目录下的所有文件的文件类型和文件名

    linux显示指定目录下的所有文件的文件类型和文件名 并打印普通文件个数 用到的函数 DIR opendir const char name struct dirent readdir DIR dirp int closedir DIR d
  • python 离群值_如何从Numpy数组中删除离群值

    我写了一个代码 取多个图像的平均值来检索背景 这基本上删除了图像中的移动对象 我试着在取平均值之前去掉离群值 这样我就可以得到背景而不是褪色的对象 我尝试了一些技巧 最近的一个是 usr bin env python3 import num
  • lock-linux

    sem unlink sem open pthread getspecific
  • 初识Java——指针

    指针 Pointer 还记得第一次接触指针是在大一的c语言学习中 当时学完之后只知道 就是代表的指针 但是至于其真实含义及用法还没有真正学会 这一次从零开始学习Java 又一次学习到了指针 因此对指针有了更多的认识 下面就是通过最近的学习我
  • python 制作菜单栏的详细教程

    创建一个下拉式菜单 from tkinter import import tkinter messagebox 创建主窗口 win Tk win config bg 87CEEB win title matinal的分析系统 win geo
  • XSS、CSRF、SSRF、暴力破解

    目录 1 XSS 1 1 XSS概述 1 1 1 什么是XSS 1 1 2 XSS攻击流程 1 1 3 XSS触发条件 1 标签法 2 伪协议 3 事件 1 2 反射型XSS Low Medium High 1 3 存储型XSS Low M
  • 51单片机实训(一)————Keil 基本操作

    文章目录 前言 一 Keil是什么 二 Keil基本操作 1 新建Keil工程 2 编写代码 3 输出 hex 文件 并编译 4 关联仿真程序 总结 前言 大家好 我是三 这是我的第二篇文章 更新有点慢 抱歉 上一篇文章 咱们了解学习了Pr
  • PTA 1075 链表元素分类 (c++)

    1075 链表元素分类 25 分 思路 首先建立一个结构体包含数据和下个地址 还有大小为3得vector数组 然后建立一个结构体数组 下标即为当前结点得地址 这样其实就可以用结构体数组来模拟链表进行一系列操作 然后定义一个变量并赋给它首地址
  • XML乱码问题和encoding的理解

    文件编码 文件编码也称为字符编码 用于指定在处理文本时如何表示字符 一种编码可能优于另一种编码主要取决于它能处理或不能处理哪些语言字符 不过通常首选的是 Unicode 读取或写入文件时 未正确匹配文件编码的情况可能会导致发生异常或产生不正
  • maven打包jar包到本地仓库(命令和插件两种方式)

    maven打包代码到本地仓库 命令行 打包准备 下载好maven 配置了maven的全局变量 测试 进入命令行输入 mvn version 检查maven是否安装好 joi xuyideMacBook Pro mvn version Apa
  • 【转载】Linux驱动程序框架

    http blog csdn net lemon fantasy archive 2009 02 17 3901030 aspx Linux 将所有外部设备看成是一类特殊文件 称之为 设备文件 如果说系统调用是Linux内核和应用程序之间的
  • 软件测试操作技巧分享

    一 测试阶段划分 1 单个模块功能测试时间相对较长 但每一个项目都应该有专门的集成测试阶段 并且应该不止进行一轮 每一轮集成测试 应该都有自己的目的 比如第一轮集成测试 是根据集成测试要点验证整体功能情况 第二轮集成测试是回归测试 第三轮集
  • 华为OD机试真题-新词挖掘【2023Q1】

    题目描述 小华负责公司知识图谱产品 现在要通过新词挖掘完善知识图谱新词挖掘 给出一个待挖掘问题内容字符串Content和一人词的字符串word 找到content中所有word的新词 新词 使用词word的字符排列形成的字符串 请帮小华实现
  • 改写PEB在傀儡进程执行代码

    方法来源于shadow3 我整理下 include
  • 单片机毕设 题目_ 基于单片机的智能小车 - 嵌入式 物联网 本科毕设

    文章目录 1 简介 2 绪论 2 1 课题背景与目的 3 系统设计 3 1 设计方案 3 1 1 小车遥控部分 方案一 方案二 3 1 2 小车驱动部分 方案一 方案二 3 2 系统架构 3 3 主要设计流程 3 3 1 材料 3 3 2
  • 如何在virtualbox模拟的安卓系统移植virgl

    Virgl是一种在虚拟机中实现3D加速的技术 它可以将虚拟机的图形输出传递给宿主机的显卡进行加速处理 如果想要在VirtualBox模拟的安卓系统上移植Virgl 可以按照以下步骤操作 在VirtualBox中创建一个安卓虚拟机 并确保它已
  • 转变思路,重建团队

    每一次人员流动都会带来一次思考 去年秋天 受到andriod等领域大面积招人波及等原因 离职的3个同事有2个都干了与andriod有关的工作 觉得andriod很可能已经产生了泡沫 导致团队出现人员流失 1 最近 经过一个反思周期之后 随着
  • VUE 富文本 wangEditor v4版本 增加源码模式 与 Monaco Editor结合使用

    VUE 富文本 找了好多开源库 发现 wangEditor Github的星最多 应该也是值得信赖的 但是在使用过程中发现wangEditor 没有源码模式 文档也说明需要自己对接 wangEditor官方文档 于是自己写了一个与 Mona
  • opencv 图像填充

    定义pad image stride函数 将图像的长和宽填充到可以被指定整数整除 这个整数倍通常定义为stride 一 opencv关键函数 opencv关键函数 cv2 copyMakeBorder im为待填充的图像 top为图像上方填

随机推荐

  • 计算机网络-网络层-路由器的工作原理

    六 计算机网络 网络层 路由器的工作原理 一 路由的定义 跨越从源主机到目标主机的一个互联网络来转发数据包的过程 二 路由器的工作原理 1 路由器的工作原理 主机1 1要发送数据到主机4 1 数据封装好了以后送到路由器A 路由器A收到数据包
  • 正规表达式与有限自动机

    1 美图 2 概念 3 正规式和正规集 正规集可以用正规表达式 简称正规式 表示 正规表达式是表示正规集一种方法 一个字集合是正规集当且仅当它能用正规式表示 3 1 正规式和正规集的递归定义 4 确定有限自动机 DFA
  • 页面启动自动使用jquery实现自动加载方法的三种形式

    第一种 function a 声明一个方法 alert a方法 window nl ad function 自动调用上面那个方法 a 第二种 function b alert b方法 document ready function 在这里写
  • el-tree使用setCheckedKeys清空树节点不生效

    问题描述 在切换下拉选框的change事件中使用this refs tree setCheckedKeys 清空目标树已选择节点 但不生效 问题解决 清空 clearAllNodes function this nextTick funct
  • LaTeX Error: Missing \begin{document}

    解决方案 将除 tex之外的文件全部删掉 再重新运行一遍 就可以啦
  • 【opencv实践】人脸识别匹配——识别自己的脸

    本文由 星沉阁冰不语出品 转载请注明作者和出处 文章链接 http blog csdn net xingchenbingbuyu article details 51472330 在之前数据收集和预处理和模型训练两篇博客中 已经把人脸识别的
  • 字符函数和内存函数的模拟实现

    1 字符串函数 长度不受限的函数 1 1strlen函数 字符串已经 0 作为结束标志 strlen函数返回的是在字符串中 0 前面出现的字符个数 不包含 0 参数指向的字符串必须要以 0 结束 模拟实现 size t my strlen1
  • 斯坦福大学教授,极力推荐5本python入门书籍,入门最快基础最好

    为什么要选择python Python是一门更注重可读性和效率的语言 尤其是相较于 Java PHP 以及 C 这样的语言 它的这两个优势让其在开发者中大受欢迎 如果你正处于想学习python或者正在python入门阶段 推荐5套pytho
  • 简述关于ASP.NET MVC与.NET CORE 的区别

    简述关于ASP NET MVC与 NET CORE的区别 1 关于ASP NET 关于MVC 刚开始接触这个技术的时候我经常不理解他们的名字 我相信许多学ASP NET开发人员开始接触MVC应该也和我一样产生很多为什么 也会误认为认为MVC
  • K8S之使用yaml格式定义pod

    mysql pod yaml overView 1 web服务与db打包放在同一个pod中 本地通过localhost来访问 并附带存活性 可用性检测 2 补充重启策略 镜像拉去策略 3 对容器资源进行限制 apiVersion apps
  • VSCode 插件Code Runner 中文提示乱码

    所属专栏 程序错误解决方法 建议收藏 作 者 我是夜阑的狗 个人简介 一个正在努力学技术的CV工程师 专注基础和实战分享 欢迎咨询 欢迎大家 这里是CSDN 我总结知识的地方 喜欢的话请三连 有问题请私信 文章目录 前言 一 Code Ru
  • 海量数据存储之Key-Value存储简介

    转自 http forchenyun iteye com blog 744935 Key value存储简介 具备高可靠性及可扩 展性的海量数据存储对互联网公司来说是一个巨大的挑战 传统的数据库往往很难满足该需求 并且很多时候对于特定的系统
  • V2X应用场景之协同式自动驾驶

    转自 http zhidx com p 96637 html V2X应用场景之协同式自动驾驶 这个应用场景我觉得是比较典型的 也想多花点时间给大家介绍一下 就是关于V2X在自动驾驶里面很典型的应用 我们管它叫协同式自动驾驶车队 什么意思呢
  • DockerFile详细介绍

    dockerfile 文件中的常见指令 详细教程地址 ADD 复制和解包文件 COPY 复制文本 CMD 指定这个容器启动的时候要运行的命令 只有最后一个会生效可被替代 ONBUILD 当构建一个被继承DockerFile 这个时候就会运行
  • Mysql多对多查询

    1 多对多需要三张表 如图所示 2 对应是SQL语句 SELECT A aname B hobby FROM A B AB WHERE A id AB aid AND B id AB bid 3 对应的查询结果
  • A list of Go projects

    Indexes and search engines These sites provide indexes and search engines for Go packages godoc org go search gowalker S
  • Python 实现FIR低通滤波器设计

    FIR Finite Impulse Response 有限脉冲响应 低通滤波器是一种数字滤波器 它可以在数字信号处理中用来对信号进行低通滤波 下面是一个简单的 Python 代码示例 用于设计 FIR 低通滤波器 import numpy
  • Oracle查看主键、删除主键以及新增联合主键

    Oracle查看主键 删除主键以及新增联合主键 主键是用于唯一标识表中的每一条数据的 不能重复也不能为null 一个表中不能有多个独立的主键 但是一个表中可以有联合主键 即多个字段组合 一 查看主键 SELECT FROM USER CON
  • vue中常用的7个属性

    1 el属性 用来指示vue编译器从什么地方开始解析 vue的语法 可以说是一个占位符 2 data属性 用来组织从view中抽象出来的属性 可以说将视图的数据抽象出来存放在data中 3 template属性 用来设置模板 会替换页面元素
  • 字节序转换

    一 概念 1 小端法 Little Endian 就是低位字节排放在内存的低地址端 即该值的起始地址 高位字节排放在内存的高地址端 2 大端法 Big Endian 就是高位字节排放在内存的低地址端 即该值的起始地址 低位字节排放在内存的高