zoukankan      html  css  js  c++  java
  • 字节序

    字节序是指多字节数据在计算机内存中存储或在网络传输时各字节的存储顺序。

    常见字节序有:littile-dienan和big-endian。

    littile-endian,将低序字节存储在起始地址(符合人的思维);big-endian,将高序字节存储在起始地址(更直观)。

    例如:short s = 0xcdfe;变量s在内存中占2个字节,littile-dienan的存储顺序是fe、cd,big-endian的存储顺序是cd、fe。

    网络字节序是TCP/IP中规定好的一种数据表示格式,它与具体的cpu类型、操作系统无关,从而保证数据在不同主机间传输是能够被正确解释。网络字节序采用big-endian排序方式。

    BSD socket提供的相互转换函数:htons、htonl、ntohs、ntohl。使用littile-endian的主机系统中这些函数会把字节进行转换,使用big-edian的主机系统中这些函数会被定义成空宏。

    BIG-ENDIAN、LITTLE-ENDIAN跟CPU有关,每一种CPU不是BIG-ENDIAN就是LITTLE-ENDIAN、。IA架构(Intel、AMD)的CPU中是Little-Endian,而PowerPC 、SPARC和Motorola处理器是Big-Endian。这其实就是所谓的主机字节序。而网络字节序是指数据在网络上传输时是大头还是小头的,在Internet的网络字节序是BIG-ENDIAN。所谓的JAVA字节序指的是在JAVA虚拟机中多字节类型数据的存放顺序,JAVA字节序也是BIG-ENDIAN。

  • 相关阅读:
    prometheus告警触发流程
    Mac 生成keystory文件
    web 登陆页面订做
    Gitlab 备份、恢复、平级迁移
    Gitlab 7.14.3 rpm 安装
    Mysql 启动方式
    Nginx 日志打印十六进制 x16x03x01x02x00x01x00x01xFCx03x03PxBB
    MacVim not work with perl 5.28
    Python 字符串前加u,r,b的含义
    免费 SSL 证书 certbot 配置
  • 原文地址:https://www.cnblogs.com/feilv/p/4075399.html
Copyright © 2011-2022 走看看