首页 > 其他分享 >网络字节序与主机字节序的转换

网络字节序与主机字节序的转换

时间:2022-10-08 15:14:19浏览次数:43  
标签:转换 字节 主机 网络 uint16 uint32

一、前提

        大端字节序存储时值的高位存储在较小的地址,值的低位存储在较大的地址。

        小端字节序存储时值的高位存储在较大的地址,值的低位存储在较小的地址。

        Tcp/ip规定网络字节序都是大端字节序,而主机字节序可能是大端字节序也可能是小端字节序。

二、转换

 

        原理:通过字节序转换的函数统一转换为网络字节序。

 

        1、数据在传输的过程中,一定有一个标准化的过程,也就是说:从主机a到主机b进行通信:a的主机字节序——网络字节序 ——b的主机字节序。

 

        2、常见的转换函数

 

            linux的头文件 : #include <arpa/inet.h>

 

            htons() : 由主机字节序转换为网络字节序的16位整数值。(host to net)
            ntohs() : 由网络字节序转换为主机字节序的16位整数值。
            htonl () : 由主机字节序转换为网络字节序的32位整数值。
            ntohl () : 由网络字节序转换为主机字节序的32位整数值。

 

1 #include <arpa/inet.h>
2  
3 uint32_t htonl(uint32_t hostlong);    //uint32_t主机序转换网络序
4 uint16_t htons(uint16_t hostshort);    //uint16_t主机序转换网络序
5 uint32_t ntohl(uint32_t netlong);    //uint32_t网络序转换主机序
6 uint16_t ntohs(uint16_t netshort);    //uint16_t类型网络序转换主机序

 

 

 

    

标签:转换,字节,主机,网络,uint16,uint32
From: https://www.cnblogs.com/sevendas7/p/16768960.html

相关文章

  • Java_字节缓冲流&字符流
    Java_字节缓冲流&字符流1.字节缓冲流1.1字节缓冲流构造方法【应用】字节缓冲流介绍lBufferOutputStream:该类实现缓冲输出流。通过设置这样的输出流,应用程序可以向......
  • 1: TCP与UDP的联系与区别 2:网络字节序与主机字节序的转换函数实践。
    第一问:TCP/IP协议是一个协议簇,里面包括很多协议的,UDP只是其中的一个,之所以命名为TCP/IP协议,因为TCP、IP协议是两个很重要的协议,就用他两命名了。TCP/IP协议集包括应用层,......
  • Java_File&递归&字节流
    Java_File&递归&字节流1.File类1.1File类概述和构造方法【应用】File类介绍它是文件和目录路径名的抽象表示文件和目录是可以通过File封装成对象的对于File......
  • 网络字节序与主机字节序的转换函数实践
    网络字节序与主机字节序的转换函数实践    在Linux网络编程中,经常碰到网络字节序与主机字节序的相互转换。说到网络字节序与主机字节序需要清晰了解以下几个概念。......
  • 网络字节序与主机字节序的转换
    网络字节序的转换:端口port:ntohs()//网络字节序转主机字节序ntohl()htons()......
  • 网络字节序与主机字节序转换函数实践
    字节序基础概念字节序,顾名思义,指字节在内存中存储的顺序。比如一个int32_t类型的数值占用4个字节,这4个字节在内存中的排列顺序就是字节序。字节序有两种:(1)小端字节序(Little......
  • 进制转换
    用C语言实现进制转换程序,转换为二进制,八进制,十六进制(我还不太会编写这样的程序,在网上查找了相关资料)参考https://blog.csdn.net/qq_41877184/article/details/88753144`......
  • 网络字节序和主机字节序的转换函数实践
    1、什么是字节序计算机在储存数据时有两种储存数据的方式:大端字节序(bigendian)和小端字节序(littleendian)1.大端字节序(bigendian)大端字节序(bigendian)是将值的高位......
  • BufferedOutPutStream字节输出流
    字节输出流构造方法:BufferedOutPutStream(OutPutStreamout)BufferedOutPutStream(OutPutStreamout,intsize)参数:OutPutStreamout:字节输出流,可以传递OutPutS......
  • 网络字节序与主机字节序的转换函数实践
    1#include<netinet/in.h>2unit16_thtons(uint16_thost16bitvalue);3uint32_thtonl(uint32_thost32bitvalue);//均返回网络字节序的值4unit16_tntohs(uint1......