字节序及字节排序函数
主机字节序:多于一个字节的数据类型(多字节数据类型)在内存中的存放顺序叫主机字节序。
最常见的字节序有两种:小端字节序和大端字节序。
小端字节序:Little Endian,简称LE,将数据的最低字节放在内存的起始位置。也就是说,内存地址较低的字节位存放数据的低位字节,内存地址较高的字节位存放数据的高位字节。可以简记为:高高低低。
大端字节序:Big Endian,简称BE,将数据的高字节放在内存的起始位置。也就是说,内存中地址较低的位存放数据的高位字节,内存地址较高的字节位存放数据的低位字节。可以简记为:高低低高。
术语“小端”和“大端”表示多字节值的哪一端(小端或大端)存储在该值的起始地址。小端存储在起始地址就是小端字节序;大端存储在起始地址就是大端字节序。
网络字节序标准规定为大端字节序。
不同平台上会对主机字节序进行转化,成为网络字节序后再进行传送,到主机后再转化为主机字节序。
#include <netinet/in.h>uint16_t htons(uint16_t host16bitvalue); uint32_t htonl(uint32_t host32bitvalue); 均返回:网络字节序值uint16_t ntohs(uint16_t net16bitvalue); uint32_t ntohl(uint32_t net32bitvalue); 均返回:主机字节序值
字节序及字节排序函数相关推荐
- Linux 网络编程详解一(IP套接字结构体、网络字节序,地址转换函数)
IPv4套接字地址结构 struct sockaddr_in {uint8_t sinlen;(4个字节)sa_family_t sin_family;(4个字节)in_port_t sin_port ...
- 顶级c程序员之路 选学篇-1 深入理解字节,字节序与字节对齐
深入理解字节,字节序与字节对齐 一 总述 作为一个职业的coder玩家,首先应该对计算机的字节有所了解. 我们经常谈到的2进制流,字节(字符)流,数据类型流(针对编程),结构流等说法,2进制流,0和 ...
- 字节序 主机字节序与网络字节序互相转换
目录 1.什么是字节序? 2.字节序分类 3.为什么要有大端字节序和小端字节序? 4.主机字节序和网络字节序 5.主机字节序与网络字节序的转换 6.怎么判断自己的主机是小端字节序还是大端字节序呢? 7 ...
- 计算机网络——网络字节序(大端字节序(Big Endian)\小端字节序(Little Endian))
网络字节序 网络字节序 1.网络字节序 (Network Byte Order)和本机转换 2.字节序转换函数 网络字节序 1.网络字节序 (Network Byte Order)和本机转换 1.大端 ...
- 网络字节序与地址转换函数
网络字节序是大端编码, 编码方式有两种: ①小端编码:高位数字存放在高地址字节中,如0x1234,小端编码机器将12存放在高位地址字节,34存放在低地址字节中,将其转化为1字节的char时,高地址字节 ...
- 网络字节序,主机字节序,地址转换函数
#include "../apue.h" int main(void){ //验证当前平台属哪种字节序 unsigned int x=0x12345678; unsigned ch ...
- 网络字节序 —— 主机字节序 (Socket编程) 转
在对IP地址结构体SOCKADDR_IN赋值的时候,经常会用到下列的函数htonl,htons,inet_addr,与之相对应的函数是ntohl,ntohs,inet_ntoa.查看这些函数的解析,会 ...
- 大端字节序小端字节序(网络字节序主机字节序)
大端字节序:整数的高位字节存储在内存的低地址处,低字节存储在内存的高地址处. 小端字节序:整数的高位字节存储在内存的高地址处,低字节存储在内存的低地址处. 一般pc大多采用小端字节序,也称为主机字节序 ...
- 大端字节序与小端字节序 (网络字节序与主机字节序)
大端字节序与小端字节序 1. 简介 2. 判断机器字节序(C/C++) 3. 主机字节序与网络字节序的转换 4. IP地址与网络字节序的转换 1. 简介 字节序分为大端字节序(big endian)和 ...
最新文章
- MySQL数据库test连接语句_【MySQL数据库开发之二】MySQL 基础语句的书写与操作!...
- 区块链BaaS云服务(16)天德链TDBC“泰山沙盒系统”
- 一个用于读unicode文本的迭代器(iterator)
- 微信开发系列之一 - 微信公众号开发的开发环境搭建
- python3(十一)内置模块和类型转换
- Scrapy 教程(十)-管道与数据库
- 有两个python怎么停用其中一_如何在python中停止另一个已经运行的脚本?
- react 代码编写原则_如何编写易读的React代码— 10种编码风格技巧
- C++——override
- shell编程入门步步高(七、流程控制)
- zblock 结构_偷窥Data block 的物理结构
- 搭建私域流量池实施落地——四大运营步骤
- DE22 Using Laplace Transform to Solve ODEs with Discontinuous Inputs
- Oracle Tablespace Transportation
- 潘多拉 搭建 php服务器,OpenWrt/LEDE/潘多拉固件4G网卡上网之【HiLink模式上网教程】...
- matlab与螺旋桨,基于Matlab的船用螺旋桨计算机实时仿真及GUI设计
- 计量经济学搭建模型总结
- 泛微 E9开发视频教程
- plsql误删除数据,怎么恢复?
- BZOJ[2827]千山鸟飞绝 线段树
热门文章
- Hibernate 笔记 HQL查询
- object references an unsaved transient instance - save the transient instance before flushing .
- 零基础逆向工程28_Win32_02_事件_消息_消息处理函数
- continue和pass測试
- php变量与数组相互转换的方法(extract与compact
- NetPayClient for PHP使用说明
- 使用Spring Security3的四种方法概述
- iOS开发学习之MapKit - 获得在MapView(地图)中显示多个标记的区域(MKCoordinateRegion)...
- Java读书笔记(4)-多线程(二)
- vue中render: h = h(App)的详细解释