网站大量收购独家精品文档,联系QQ:2885784924

收集字节次序.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
收集字节次序

1 字节序 由于不同的计算机系统采用不同的字节序存储数据,同样一个4字节的32位整数,在内存中存储的方式就不同. 字节序分为小尾字节序(Little Endian)和大尾字节序(Big Endian), Intel处理器大多数使用小尾字节序, Motorola处理器大多数使用大尾(Big Endian)字节序; 小尾就是低位字节排放在内存的低端,高位字节排放在内存的高端。例如一个4字节的值为0x1234567的整数与高低字节对应关系: 01 23 45 67 Byte3 Byte2 Byte1 Byte0 高位字节--à---------à--------------à低位字节 将在内存中按照如下顺序排放: 内存地址序号 字节在内存中的地址 16进制值 0x03 Byte3 01 0x02 Byte2 23 0x01 Byte1 45 0x00 Byte0 67 大尾就是高位字节排放在内存的低端,低位字节排放在内存的高端。例如一个4字节的值为0x1234567的整数与高低字节对应关系: 01 23 45 67 Byte3 Byte2 Byte1 Byte0 高位字节--à---------à--------------à低位字节 将在内存中按照如下顺序排放: 内存地址序号 字节在内存中的地址 16进制值 0x03 Byte0 67 0x02 Byte1 45 0x01 Byte2 23 0x00 Byte3 01 2 网络字节序 TCP/IP各层协议将字节序定义为大尾,因此TCP/IP协议中使用的字节序通常称之为网络字节序。 网络字节顺序是TCP/IP中规定好的一种数据表示格式,它与具体的CPU类型、操作系统等无关,从而可以保证数据在不同主机之间传输时能够被正确解释。网络字节顺序采用big endian排序方式。 3 字串在内存中的存储(intel系列) 字串和整数是相反的,是安字串的索引从低到高存储到内存中的; char s[4] = “abc”; a b c /0 s[0] s[1] s[2] s[3] 将在内存中按照如下顺序排放: 内存地址序号 16进制值 指针P的位置 0xbffeadf7 /0 p+3 0xbffeadf6 c p+2 0xbffeadf5 b p+1 0xbffeadf4 a p int main(void) { char s[4] = abc; char *p = s; printf(%02x, %02x, %02x, %02x/n, s[0], s[1], s[2], s[3]); printf(%02x, %02x, %02x, %02x/n, p, p+1, p+2, p+3); printf(%c, %c, %c, %c/n, s[0], s[1], s[2], s[3]); return 0; } 输出结果: [netcool@HFINMSP2 demo]$ ./demo001 bffeadf4, bffeadf5, bffeadf6, bffeadf7 bffeadf4, bffeadf5, bffeadf6, bffeadf7 a, b, c, 4 整数数组在内存中的存储(intel系列) 同字串一样,但是数组里的每一个整数的存储是按照小尾字节序; 5 linux系统中的处理方法 网络字节序作为一个标准字节序,如果系统并没有提供相关的转换函数,我们可以通过以下4个宏实现本地字节序和网络字节序的相互转换: htons():将16位无符号整数从本地字节序转换成网络字节序 htonl():将32位无符号整数从本地字节序转换成网络字节序 ntohs():将16位无符号整数从网络字节序转换成本地字节序 ntohl():将32位无符号整数从网络字节序转换成本地字节序

文档评论(0)

f8r9t5c + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档