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。

  • 相关阅读:
    @JSONFORMAT
    在控制台下运行jar文件出现的问题
    Windows 环境下执行 .sql 格式文件方式
    本地项目上传到git的详细步骤
    tomcat 处理请求url带特殊字符
    maven scope详解
    springboot+maven切换成oracle
    tomcat 处理http post请求配置
    mysql远程访问localhost权限
    Tomcat配置 访问jsp/html页面
  • 原文地址:https://www.cnblogs.com/feilv/p/4075399.html
Copyright © 2011-2022 走看看