(1)计算机在存储多字节数据时存在大端字节顺序和小端字节顺序两种方式

大端:高位字节排放在内存的低地址端(即该值的起始地址),低位字节排放在内存的高地址端。

小端:低位字节排放在内存的低地址端(即该值的起始地址), 高位字节排放在内存的高地址端。

如图1所示:

(2)对于字符编码,编码标准中明确规定了采用的字节顺序,但对于整型数据则并不存在类似的规定,整型数据是最基本的数据类型,也是计算机CPU指令能直接处理的数据类型,之所以存在大端和小端顺序两种字节顺序,就源于CPU内部表示整型数据的字节顺序不同。(常见PC机基于X86架构的CPU是小端字节顺序,而PowerPC系列的CPU大多采用的是大端字节顺序,为了提高处理速度,整数各字节无论是在外部存储还是在内存中其存放顺序必须与CPU一致)。

(3)无论采用的大端字节顺序还是小端字节顺序,在网络通信中,对一台计算机所采用的字节顺序都统称为主机字节顺序。在编写网络程序时,规定发送端要发送的多字节数据必须先转换成与具体CPU无关的网络字节顺序在发送,接收端接收到数据后再将在将数据转换为主机字节顺序。网络字节顺序采用的是大端存储方式。

转载于:https://www.cnblogs.com/dingou/p/6497014.html

L_01 网络字节顺序相关推荐

  1. 再谈网络字节顺序,大小端问题

    author:张继飞 在做ping命令的时候,发现抓到的数据包seq=256/1,而我们通常使用的ping命令都是seq=1/256,是什么问题导致的呢,看数据包下面的16进制,该字段为01 00,与 ...

  2. 【转】大端模式与小端模式、网络字节顺序与主机字节顺序 (经典)

    大端模式与小端模式 一.概念及详解 在各种体系的计算机中通常采用的字节存储机制主要有两种: big-endian和little-endian,即大端模式和小端模式. 先回顾两个关键词,MSB和LSB: ...

  3. python3 网络编程 主机字节序 网络字节序 相互转换

    编写底层低层网络应用时,或许需要处理通过电缆在两台设备之间传送的低层数据.在这种操作中,需要把主机操作系统发出的数据转换成网络格式,或者做逆向转换,因为这两种数据的表示方式不一样. 1. 代码 # 主 ...

  4. 网络字节与主机字节转换 htons(), ntohl(), ntohs(),htons() 函数

    在C/C++写网络程序的时候,往往会遇到字节的网络顺序和主机顺序的问题.这是就可能用到htons(), ntohl(), ntohs(),htons()这4个函数. 网络字节顺序与本地字节顺序之间的转 ...

  5. 大端模式、小端模式、网络字节顺序与主机字节顺序

    大端模式.小端模式.网络字节顺序与主机字节顺序 大端模式与小端模式 概念与详解 在各种体系的计算机中通常采用的字节存储机制主要有两种:big-endian和little-endian,即大端模式和小端 ...

  6. java 网络字节序转主机字节序_C语言高级编程——网络编程技术

    了解什么是网络编程 熟悉七层网络模型 熟悉网络开发中使用到的函数 掌握TCP协议类程序开发 掌握UDP协议类程序开发 计算机本身是不会进行网络通信的,所以要想使通过软件进行网络通信,必须制定相应的规则 ...

  7. 字节顺序:大端模式 和 小端模式

    字节顺序有"大端模式" 和 "小端模式" 两种. 一.字节顺序只是对内置数据类型而言. 例如对于一整型(int,int 是内置数据类型)数,比如 0x12345 ...

  8. 主机字节序与网络字节序的转换函数:htonl、ntohl、htons、ntohs

    Part 1: htons函数具体解释      在Linux和Windows网络编程时需要用到htons和htonl函数,用来将主机字节顺序转换为网络字节顺序. 在Intel机器下,执行以下程序 i ...

  9. 网络字节顺序和主机字节顺序的转换(htons ntohs htonl ntohl)

    from  https://blog.csdn.net/baidu_33621692/article/details/53213002 网络字节顺序和主机字节顺序的转换(htons ntohs hto ...

最新文章

  1. 火锅店市场容量或变化趋势_2020-2026年中国氮肥市场深度研究与投资前景预测报告...
  2. struts2和spring的两种整合方式 action的自动装配
  3. 倾向得分匹配的stata命令_培训对工资是否影响显著:倾向得分匹配法(PSM)及stata实现...
  4. IOC容器特性注入第一篇:程序集反射查找
  5. oracle删除分区空间,Oracle 11g维护分区(三)——Dropping Partitions
  6. XHTML与HTML的区别
  7. jakarta ee_在等待Jakarta EE时
  8. ASP.NET页面刷新的实现方法
  9. sql 2005中全文索引的使用
  10. paip. erlang语法C++语法对比attilax总结
  11. dede织梦CMS采集过滤规则
  12. 面试明明聊的很开心,为什么要挂我!
  13. Graphviz 画图教程
  14. 一维码二维码的生成及打印
  15. 图机器学习——5.9 图神经网络:图的增广
  16. 学数据结构,是不是一定要先学离散数学
  17. 学校作业5_1字符串_文本分析与加密(头哥作业[Python])
  18. iview的checkbox
  19. Vulnstack(四)
  20. 网页设计参考资料一波

热门文章

  1. flash 音乐 html代码,用html为flash页面添加音乐
  2. 如何查看文件是否为csv格式_Spark实战第二版(涵盖Spark3.0)第七章 从文件接入数据...
  3. 安卓自动滑屏脚本_【按键精灵】开发抖音全自动养号脚本!可实现自动滑屏
  4. mysql死锁 简单例子_写一个Mysql死锁的例子
  5. java mb单位转换_Java计算机硬盘大小转换(B,KB,MB,GB,TB,PB之间的大小转换)
  6. c ++ strstr_在C / C ++中使用strstr()的指南
  7. Android MultiPart图像上传进度改造NodeJS
  8. 开课吧Java课堂:什么是ArrayList类
  9. CardView的使用
  10. 【动态规划】LeetCode 377. Combination Sum IV