主機字節(jié)序和網(wǎng)絡(luò)字節(jié)序課件_第1頁
主機字節(jié)序和網(wǎng)絡(luò)字節(jié)序課件_第2頁
主機字節(jié)序和網(wǎng)絡(luò)字節(jié)序課件_第3頁
主機字節(jié)序和網(wǎng)絡(luò)字節(jié)序課件_第4頁
主機字節(jié)序和網(wǎng)絡(luò)字節(jié)序課件_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

主機字節(jié)序和網(wǎng)絡(luò)字節(jié)序在使用網(wǎng)絡(luò)進行程序設(shè)計中會碰到的一個問題是字節(jié)序的問題。0主機字節(jié)序和網(wǎng)絡(luò)字節(jié)序在使用網(wǎng)絡(luò)進行程序設(shè)計中會碰到的一個問題是字節(jié)序的問題。這種問題在基于單機或者同類型機器進行開發(fā)的過程中很少遇到。1主機字節(jié)序和網(wǎng)絡(luò)字節(jié)序由于網(wǎng)絡(luò)的特點是將Internet上不同的網(wǎng)絡(luò)設(shè)備和主機進行連接和通信,這決定了使用網(wǎng)絡(luò)進行開發(fā)的程序特點就是要兼容各種類型的設(shè)備,其中的數(shù)據(jù)在不同的設(shè)備上要有唯一的含義。2主機字節(jié)序和網(wǎng)絡(luò)字節(jié)序字節(jié)序的問題是上述情況下的典型問題。3主機字節(jié)序和網(wǎng)絡(luò)字節(jié)序字節(jié)序的含義:4主機字節(jié)序和網(wǎng)絡(luò)字節(jié)序字節(jié)序的含義:字節(jié)序的問題是由于CPU對整數(shù)在內(nèi)存中的存放方式造成的。5主機字節(jié)序和網(wǎng)絡(luò)字節(jié)序字節(jié)序的含義:字節(jié)序的問題是由于CPU對整數(shù)在內(nèi)存中的存放方式造成的。字節(jié)數(shù)大于一的數(shù)據(jù)類型在內(nèi)存中的存放順序叫主機字節(jié)序。6主機字節(jié)序和網(wǎng)絡(luò)字節(jié)序最常見的字節(jié)序有兩種,小端字節(jié)序和大端字節(jié)序。7主機字節(jié)序和網(wǎng)絡(luò)字節(jié)序最常見的字節(jié)序有兩種,小端字節(jié)序和大端字節(jié)序。小端字節(jié)序:即LittleEndian,簡稱LE,將數(shù)據(jù)的最低字節(jié)放在內(nèi)存的起始位置。8主機字節(jié)序和網(wǎng)絡(luò)字節(jié)序小端字節(jié)序的特點是內(nèi)存地址較低的為存放數(shù)據(jù)的低位,內(nèi)存地址高的位存放數(shù)據(jù)的高位。采用低字節(jié)序的CPU有x86架構(gòu)的Intel系列產(chǎn)品。9主機字節(jié)序和網(wǎng)絡(luò)字節(jié)序小端字節(jié)序的特點是內(nèi)存地址較低的為存放數(shù)據(jù)的低位,內(nèi)存地址高的位存放數(shù)據(jù)的高位。采用低字節(jié)序的CPU有x86架構(gòu)的Intel系列產(chǎn)品。大端字節(jié)序:即BigEndian,簡稱BE,將數(shù)據(jù)的高字節(jié)放在內(nèi)存的起始位置。10主機字節(jié)序和網(wǎng)絡(luò)字節(jié)序大端字節(jié)序的特點是內(nèi)存中低字節(jié)位置存放數(shù)據(jù)的高位字節(jié),內(nèi)存中的高位字節(jié)存放數(shù)據(jù)的較低字節(jié)數(shù)據(jù)。采用大端字節(jié)序的典型代表有PowerPC的UNIX系統(tǒng)。11主機字節(jié)序和網(wǎng)絡(luò)字節(jié)序例如對于一個8字節(jié)的數(shù)據(jù)0x12345678,假設(shè)在內(nèi)存中存放的開始地址為0x1000,則在小端字節(jié)序和大端字節(jié)序系統(tǒng)中的存放方式如下表所示;12主機字節(jié)序和網(wǎng)絡(luò)字節(jié)序例如對于一個8字節(jié)的數(shù)據(jù)0x12345678,假設(shè)在內(nèi)存中存放的開始地址為0x1000,則在小端字節(jié)序和大端字節(jié)序系統(tǒng)中的存放方式如下表所示;13內(nèi)存地址0x10000x10010x10020x1003小端字節(jié)序0x780x560x340x12大端字節(jié)序0x120x340x560x78主機字節(jié)序和網(wǎng)絡(luò)字節(jié)序系統(tǒng)對多字節(jié)數(shù)據(jù)的不同存放方法造成了使用方法的問題。14主機字節(jié)序和網(wǎng)絡(luò)字節(jié)序系統(tǒng)對多字節(jié)數(shù)據(jù)的不同存放方法造成了使用方法的問題。例如:在x86系統(tǒng)主機A上的一個值為0x12345678,數(shù)據(jù)通過網(wǎng)絡(luò)傳送到了PowerPC上的一個運行UNIX的主機B上,在主機B上此值解釋為0x7654321。15主機字節(jié)序和網(wǎng)絡(luò)字節(jié)序我們看到,經(jīng)網(wǎng)絡(luò)在不同的軟硬件系統(tǒng)之間傳輸后,收到的數(shù)據(jù)與原來迥異,這樣就造成了傳輸上兼容性方面的困難。16主機字節(jié)序和網(wǎng)絡(luò)字節(jié)序網(wǎng)絡(luò)字節(jié)序的轉(zhuǎn)換17主機字節(jié)序和網(wǎng)絡(luò)字節(jié)序網(wǎng)絡(luò)字節(jié)序的轉(zhuǎn)換網(wǎng)絡(luò)的字節(jié)序標準規(guī)定為大端字節(jié)序,不同平臺上會對主機字節(jié)序進行轉(zhuǎn)換,成為網(wǎng)絡(luò)字節(jié)序后再進行傳輸,到主機后在轉(zhuǎn)化為主機字節(jié)序,數(shù)據(jù)的傳輸就不會產(chǎn)生問題了。18主機字節(jié)序和網(wǎng)絡(luò)字節(jié)序同一個數(shù)據(jù)在不同平臺上的字節(jié)序可以使用網(wǎng)絡(luò)字節(jié)序的轉(zhuǎn)換函數(shù)來實現(xiàn)。19主機字節(jié)序和網(wǎng)絡(luò)字節(jié)序同一個數(shù)據(jù)在不同平臺上的字節(jié)序可以使用網(wǎng)絡(luò)字節(jié)序的轉(zhuǎn)換函數(shù)來實現(xiàn)。如下圖所示為主機A中的應(yīng)用程序?qū)⒆兞縜中的值0x12345678,通過網(wǎng)絡(luò)傳遞給主機B中的應(yīng)用程序的變量b,如果不進行網(wǎng)絡(luò)字節(jié)轉(zhuǎn)換,b的值為0x7856341220主機字節(jié)序和網(wǎng)絡(luò)字節(jié)序

21主機字節(jié)序和網(wǎng)絡(luò)字節(jié)序如下圖所示,如果進行了網(wǎng)絡(luò)字節(jié)序轉(zhuǎn)換,a的值與b的值均為0x1234567822主機字節(jié)序和網(wǎng)絡(luò)字節(jié)序

23主機字節(jié)序和網(wǎng)絡(luò)字節(jié)序小結(jié):網(wǎng)絡(luò)字節(jié)順序是TCP/IP中規(guī)定好的一種數(shù)據(jù)表示格式,它與具體的CPU類型、操作系統(tǒng)等無關(guān),從而可以保證數(shù)據(jù)在不同主機之間傳輸時能夠被正確解釋。網(wǎng)絡(luò)字節(jié)順序采用

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論