国产日韩欧美一区二区三区综合,日本黄色免费在线,国产精品麻豆欧美日韩ww,色综合狠狠操

極客小將

您現(xiàn)在的位置是:首頁(yè) » python編程資訊

資訊內(nèi)容

python基礎(chǔ)知識(shí)之二:網(wǎng)絡(luò)通信數(shù)據(jù)傳輸

極客小將2021-02-27-
簡(jiǎn)介python實(shí)現(xiàn)網(wǎng)絡(luò)通信數(shù)據(jù)傳輸(基礎(chǔ)知識(shí)(二))免費(fèi)學(xué)習(xí)推薦:python視頻教程前言基礎(chǔ)知識(shí)學(xué)習(xí)一、OSI模型二、TCP、IP協(xié)議族:三、python中字符串的編碼方式結(jié)束語(yǔ)前言第二彈來(lái)了!今天還是上些基礎(chǔ)知識(shí)吧,扎實(shí)的基礎(chǔ)才是深入學(xué)習(xí)的不二法門!!!基礎(chǔ)知識(shí)學(xué)習(xí)一、OSI模型OSI模型把網(wǎng)絡(luò)通
版權(quán)所有:https://wWw.pxcodeS.com

python實(shí)現(xiàn)網(wǎng)絡(luò)通信數(shù)據(jù)傳輸(基礎(chǔ)知識(shí)(二))26L少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

免費(fèi)學(xué)習(xí)推薦:python視頻教程26L少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

前言 基礎(chǔ)知識(shí)學(xué)習(xí) 一、OSI 模型二、TCP、IP協(xié)議族:三、python中字符串的編碼方式結(jié)束語(yǔ)

前言26L少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

第二彈來(lái)了!今天還是上些基礎(chǔ)知識(shí)吧,扎實(shí)的基礎(chǔ)才是深入學(xué)習(xí)的不二法門!!!26L少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

基礎(chǔ)知識(shí)學(xué)習(xí)26L少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

一、OSI 模型26L少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

OSI 模型把網(wǎng)絡(luò)通信的工作分為 7 層,從下到上分別是物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會(huì)話層、表示層和應(yīng)用層。
OSI 只是存在于概念和理論上的一種模型,它的缺點(diǎn)是分層太多,增加了網(wǎng)絡(luò)工作的復(fù)雜性,所以沒(méi)有大規(guī)模應(yīng)用。后來(lái)人們對(duì) OSI 進(jìn)行了簡(jiǎn)化,合并了一些層,**終只保留了 4 層,從下到上分別是接口層、網(wǎng)絡(luò)層、傳輸層和應(yīng)用層,這就是大名鼎鼎的 TCP/IP 模型。 這個(gè)網(wǎng)絡(luò)模型究竟是干什么呢?簡(jiǎn)而言之就是進(jìn)行數(shù)據(jù)封裝的。數(shù)據(jù)封裝原理: 我們平常使用的程序(軟件)一般都是通過(guò)應(yīng)用層來(lái)訪問(wèn)網(wǎng)絡(luò)的,程序產(chǎn)生的數(shù)據(jù)會(huì)一層一層地往下傳輸,直到**后的網(wǎng)絡(luò)接口層,就通過(guò)網(wǎng)線發(fā)送到互聯(lián)網(wǎng)上去了。數(shù)據(jù)每往下走一層,就會(huì)被這一層的協(xié)議增加一層包裝,等到發(fā)送到互聯(lián)網(wǎng)上時(shí),已經(jīng)比原始數(shù)據(jù)多了四層包裝。整個(gè)數(shù)據(jù)封裝的過(guò)程就像俄羅斯套娃。當(dāng)另一臺(tái)計(jì)算機(jī)接收到數(shù)據(jù)包時(shí),會(huì)從網(wǎng)絡(luò)接口層再一層一層往上傳輸,每傳輸一層就拆開(kāi)一層包裝,直到**后的應(yīng)用層,就得到了**原始的數(shù)據(jù),這才是程序要使用的數(shù)據(jù)。給數(shù)據(jù)加包裝的過(guò)程,實(shí)際上就是在數(shù)據(jù)的頭部增加一個(gè)標(biāo)志(一個(gè)數(shù)據(jù)塊),表示數(shù)據(jù)經(jīng)過(guò)了這一層,我已經(jīng)處理過(guò)了。給數(shù)據(jù)拆包裝的過(guò)程正好相反,就是去掉數(shù)據(jù)頭部的標(biāo)志,讓它逐漸現(xiàn)出原形。

(OSI 七層網(wǎng)絡(luò)模型和 TCP/IP 四層網(wǎng)絡(luò)模型的對(duì)比)兩臺(tái)計(jì)算機(jī)進(jìn)行通信時(shí),必須遵守以下原則:
(1) 必須是同一層次進(jìn)行通信,比如,A 計(jì)算機(jī)的應(yīng)用層和 B 計(jì)算機(jī)的傳輸層就不能通信,因?yàn)樗鼈儾辉谝粋€(gè)層次,數(shù)據(jù)的拆包會(huì)遇到問(wèn)題。
(2) 每一層的功能都必須相同,也就是擁有完全相同的網(wǎng)絡(luò)模型。如果網(wǎng)絡(luò)模型都不同,那不就亂套了,誰(shuí)都不認(rèn)識(shí)誰(shuí)。
數(shù)據(jù)只能逐層傳輸,不能躍層。
(3) 每一層可以使用下層提供的服務(wù),并向上層提供服務(wù)。

二、TCP、IP協(xié)議族:26L少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

常用到的 socket 編程是基于 TCP 和 UDP 協(xié)議的,它們的層級(jí)關(guān)系如下圖所示:
26L少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

三、python中字符串的編碼方式26L少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

python中要把字符串的編碼方式轉(zhuǎn)換為utf-8的形式!26L少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

同樣一個(gè)數(shù),你可以選不同的方式來(lái)表示它,選用什么方案,就是對(duì) Unicode 的一種編碼方法(utf-8是Unicode編碼方式的一種具體實(shí)現(xiàn))。Python 內(nèi)部使用 Unicode 來(lái)表示字符串,所以想要print什么漢字(英文字母和數(shù)字的Unicode和utf-8的編碼是一樣的)的就要保證是Unicode的編碼方式,如果是“utf-8”的編碼方式(輸出就是一堆二進(jìn)制代碼,一個(gè)漢字的utf-8編碼為三個(gè)字節(jié),也就是三段二進(jìn)制表示,如下圖),可以用.decode(“utf-8”)來(lái)解碼。而在保存到硬盤或者發(fā)送到網(wǎng)上(用到socket等和通信有關(guān)的),需要轉(zhuǎn)成 UTF-8。

(utf-8編碼在python里的輸出結(jié)果)為什么在內(nèi)部不繼續(xù)使用 UTF-8,那樣不就不用轉(zhuǎn)換了嗎?這個(gè)就涉及到 UTF-8 的一個(gè)缺點(diǎn):計(jì)算字符串長(zhǎng)度和查找子字符串非常沒(méi)效率。在使用 UCS2 的時(shí)候,要想知道這個(gè)字符串有多長(zhǎng),只要看一下它占了幾個(gè)字節(jié),然后除個(gè) 2 就可以了,而 UTF-8 的話,就需要一個(gè)字符一個(gè)字符的數(shù)出來(lái)。在做子字符串搜索的時(shí)候,因?yàn)椴恢老乱粋€(gè)字符占幾個(gè)字節(jié),所以那些高效的搜索算法也都不靈了。

結(jié)束語(yǔ)26L少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

下次我會(huì)拿出一些簡(jiǎn)單的例子,以幫助大家理解和實(shí)際操作。**后希望大家看完,順手點(diǎn)一個(gè)小小的贊,給點(diǎn)鼓勵(lì)吧,一篇寫出來(lái)兩個(gè)多小時(shí)過(guò)去了,沒(méi)有任何利益的行為,只是為了知識(shí)共享,共同學(xué)習(xí),一起成長(zhǎng)!!!(偷偷說(shuō),我看完別人的文章也不點(diǎn)贊,這不是好習(xí)慣,我馬上改的,嗚嗚嗚)26L少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

相關(guān)免費(fèi)學(xué)習(xí)推薦:python教程(視頻)26L少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

以上就是python基礎(chǔ)知識(shí)之二:網(wǎng)絡(luò)通信數(shù)據(jù)傳輸?shù)脑敿?xì)內(nèi)容,更多請(qǐng)關(guān)注少兒編程網(wǎng)其它相關(guān)文章!26L少兒編程網(wǎng)-Scratch_Python_教程_免費(fèi)兒童編程學(xué)習(xí)平臺(tái)

預(yù)約試聽(tīng)課

已有385人預(yù)約都是免費(fèi)的,你也試試吧...

主站蜘蛛池模板: 平舆县| 通辽市| 昌邑市| 西平县| 东明县| 怀化市| 巩留县| 宜兰市| 惠州市| 三都| 瓮安县| 漯河市| 南雄市| 枞阳县| 茶陵县| 花垣县| 秀山| 容城县| 镇雄县| 西丰县| 图木舒克市| 察雅县| 云霄县| 南汇区| 合水县| 长葛市| 方正县| 衡山县| 融水| 永城市| 扶风县| 五大连池市| 合作市| 屏东县| 靖宇县| 同江市| 天津市| 秀山| 达孜县| 宣威市| 盐源县|