日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux大端小端命令,linux的大小端、网络字节序问题

發布時間:2024/4/17 linux 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux大端小端命令,linux的大小端、网络字节序问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

linux的大小端、網絡字節序問題

總結:1、80X86使用小端法,網絡字節序使用大端法。

2、二進制的網絡編程中,傳送數據,最好以unsigned char, unsigned short, unsigned int

來處理,?unsigned short ,unsigned short 以網絡字節序處理后再拷貝到發送的buffer里

3、結構體前后要指定 #pragma? pack(1)

對于字節序(大端法、小端法)的定義《UNXI網絡編程》定義:術語“小端”和“大端”表示多字節值的哪一端(小端或大端)存儲在該值的起始地址。小端存在起始地址,即是小端字節序;大端存在起始地址,即是大端字節序。

也可以說:

1.小端法(Little-Endian)就是低位字節排放在內存的低地址端即該值的起始地址,高位字節排放在內存的高地址端。

2.大端法(Big-Endian)就是高位字節排放在內存的低地址端即該值的起始地址,低位字節排放在內存的高地址端。

舉個簡單的例子,對于整形0x12345678。它在大端法和小端法的系統內中,分別如圖1所示的方式存放。

網絡字節序

我們知道網絡上的數據流是字節流,對于一個多字節數值,在進行網絡傳輸的時候,先傳遞哪個字節?也就是說,當接收端收到第一個字節的時候,它是將這個字節作為高位還是低位來處理呢?

網絡字節序定義:收到的第一個字節被當作高位看待,這就要求發送端發送的第一個字節應當是高位。而在發送端發送數據時,發送的第一個字節是該數字在內存中起始地址對應的字節。可見多字節數值在發送前,在內存中數值應該以大端法存放。

網絡字節序說是大端字節序。

比如我們經過網絡發送0x12345678這個整形,在80X86平臺中,它是以小端法存放的,在發送前需要使用系統提供的htonl將其轉換成大端法存放,如圖2所示。

字節序測試程序

不同cpu平臺上字節序通常也不一樣,下面寫個簡單的C程序,它可以測試不同平臺上的字節序。

1

#include?

2

#include?

3

int?main()

4

{

5

int?i_num?=?0x12345678;

6

printf("[0]:0x%x\n",?*((char?*)&i_num?+?0));

7

相關文檔:

以下是個人覺得比較詳細而且易于理解的幾篇文章,所以把它一起貼出來做為筆記(一)、(二)、(三),也希望對過路者提供一點方便。

第3章文件I / O

3.1 引言

本章開始討論U N I X系統,先說明可用的文件I / O函數——打開文件、讀文件、寫文件等等。大多數U N I ......

系統環境:Linux 5.0 AS 64位

步驟:

1、下載apache-tomcat-5.5.23.tar和jdk-1_5_0_12-linux-i586.bin并存放在/usr/local文件夾下;

2、安裝jdk

[root@localhost local]#chmod 775 jdk-1_5_0_12-linux-i586.bin '非必須,要是直接運行時提示權限不夠時改變權限;

[root@localhost local]#./jd ......

linux下進行硬盤分區,進行格式化處理,并進行掛載使用

實驗環境:

HPZ400工作站 : 500G硬盤

由于本機是預裝的SUSE Linux Enterprise Desktop? 11 (x86_64)

出廠時,僅在硬盤上分了一個38G的ext3文件系統,和一個2G的swap分區,所以對于其它的空閑分區,要實現使用,就要進行格

處理。

可用的分區工具有:fdis ......

下面是在虛擬機中的linux的ftp的基本配置(redhat AS 4.0為例):

首先要安裝linux下的vsftp軟件包。

rpm -qa|gerp vsftpd????? //查找vsftpd有沒有安裝

[root@RAC01 ~]# rpm -qa|grep vsftpd

vsftpd-2.0.1-5.EL4.7

[root@RAC01 ~]#

如果沒有安裝就 vsftpd-2.0.1-5.i386.rpm

在li ......

vi是所有UNIX系統都會提供的屏幕編輯器,它提供了一個視窗設備,通過它可以編輯文件。當然,對UNIX系統略有所知的人,或多或少都覺得vi超級難用,但vi是最基本的編輯器,所以希望讀者能好好把它學起來,以后在UNIX世界里必將暢行無阻、游刃有余,因為其他幾種文本處理器并非UNIX標準配備。說不定別人的Linux機器沒安裝joe或 ......

總結

以上是生活随笔為你收集整理的linux大端小端命令,linux的大小端、网络字节序问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。