老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

對python3編碼那些事的小小總結

一、 了解一下編碼的發展。
1、 計算機只能處理數字,如果需要處理文本,需要先將文本轉換為數字。因為計算機是美國梆子發明的,所以他們發明了最早的編碼--ASCII編碼,也就是將他們的大小寫字符數字和一些符號編碼得到計算機中。比如A的編碼是65。
2、 隨著計算機在中國發展起來,拿ASCII去處理中文,顯然是不夠的,因為英文需要一個字節處理,而中文是需要兩個字節。為了滿足需求我們中國發明了自己的編碼GB2312。將中文編進去。
3、 我們中國如此,世界上那么多語言豈不是每種語言都需要一種編碼標準,如果一個文本中有多種語言,到時候產生的結果就是出現亂碼。
4、 為順應發展,比較叼的Unicode編碼出生了,這個東西將所有的語言都統一到一套編碼中。這樣就不會再出現亂碼的問題。雖然這個東西夠強大,但是卻有一個不能小覷的缺點。相比于ASCII編碼要多出一倍的儲存空間。例如:A ascii:65 二進制:01000001 unicode:00000000 01000001
5、 所以秉承著節約的原則,UTF-8應運而生,好處編碼可變長。例如A的UTF-8:01000001,可以將unicode編碼中的前面的零節約掉。
二、 在計算機 系統中通用編碼的工作方式
1、 當我們編輯文檔的時候,讀取文檔內容將UTF-8字符轉換為unicode字符到內存中。因為這里需要顯示,為了避免亂碼,使用通用的Unicode編碼。
2、 當編碼編輯完成后,再將Unicode的編碼轉換為UTF-8保存到文件中。因為這里是需要存入磁盤中的,為節約儲存空間,使用可變編碼長度的UTF-8編碼。
三、 python3字符編碼
python的字符串類型是str,在內存中以Unicode表示。
1、 如果需要在網絡上傳輸,或者保存到存儲設備上,就需要將str變成以字節為單位的bytes。可以使用encode()方法。通過第一大點的了解,我們知道Unicode表示的str可以通過ASCII和utf-8編碼轉換。但是轉換中文的時候,一定使用utf-8,因為含有中文的str無法用ASCII編碼,超出了ASCII編碼的范圍。例如:
對python3編碼那些事的小小總結
2、 如果我們從網絡上或磁盤上讀取數據,就是將bytes變為str。可以使用decode()方法。
對python3編碼那些事的小小總結
通過上述了解,可以看出,utf-8編碼,不管是讀取數據,還是傳輸數據都不會出錯,所以很多情況下utf-8使用的更為廣泛一些。

創新互聯公司長期為成百上千客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為石鼓企業提供專業的成都做網站、網站制作,石鼓網站改版等技術服務。擁有十載豐富建站經驗和眾多成功案例,為您定制開發。

四、 解析我實際遇到的問題
使用socket模塊編寫通信的腳本,原服務端:

#!/usr/bin/python3
import socket

s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind(('',6000))
s.listen(1)
client,addr=s.accept()
print ("Connected by",addr)
client.send("welcome")
text=client.recv(1024)
print(text)
client.close()
s.close()

原客戶端:

#!/usr/bin/python3
import socket

c=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
c.connect(("192.168.80.128",6000))
ans=c.recv(1024)
print(ans)
c.send("hello")
c.close()

執行結果
對python3編碼那些事的小小總結
send()方法用來傳遞數據,將hello傳遞給服務端。
錯誤提示需要將str類型的字符串轉換為bytes。在我們傳遞數據的時候應該先將str轉換為bytes類型的數據方可。使用encode(‘utf-8’)或encode(‘ascii’);同時服務端的send()方法傳遞的數據也應該轉換一下。
服務端修改代碼:

client.send("welcome".encode('utf-8'))

客戶端修改代碼:

c.send("hello".encode('utf-8'))

修改后執行結果:
對python3編碼那些事的小小總結
對python3編碼那些事的小小總結
執行成功。
執行過程中,str被轉換為bytes傳遞給對方。因為這里傳遞的是字母,內容上看不出是bytes,但是字符串前有個字母b,表示bytes。如果傳遞的是中文:
對python3編碼那些事的小小總結
因為我們將str轉換為了bytes。所以當我們接受數據的時候,應當將bytes轉換為str
服務端修改代碼:
text=client.recv(1024).decode('utf-8')
客戶端修改代碼:
ans=c.recv(1024).decode('utf-8')
執行結果:
對python3編碼那些事的小小總結
總結完畢!!!


當前名稱:對python3編碼那些事的小小總結
分享網址:http://www.xueling.net.cn/article/jjcjgg.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 亚洲免费在线播放视频 | 国产片久久 | 亚洲精品在线成人 | 亚洲乱码av一区二区三区中文在线: | 国产精品尹人在线观看 | 国产小视频福利 | 国产精品国产免费无码专区不卡 | 图片小说校园激情都市 | 午夜亚洲AV永久无码精品 | av网站大全在线 | 亚洲AV无码一区二区三区天堂 | 国内精品偷拍视频 | 99在线视频播放 | 8x拔播拔播x8国产精品 | 国产香蕉色网视频 | 青娱乐91免费视频 | 国产va免费精品观看精品老师 | www.俺去也.com | 欧美激情国产日韩精品一区18 | 国产精品无码专区在线观看 | 91porny国产 | 欧美黄色片一区二区 | 美女黄网站色视频免费国产 | 国产大屁股喷水视频在线观看 | 在线观看视频免费区 | 美女超碰 | 精品久久免费观看 | 中国少妇毛多水多 | www日本tv | 裸体女人高潮毛片 | JAPANESE日本爆乳巨大 | 在线中文字幕有码中文 | 成人免费看的A级毛片 | 亚洲毛片一区二区 | 亚洲国产精品视频观看 | 亚洲国产AV一区二区三区丶 | 午夜无码片在线观看影院Y 韩国精品网站 | 亚洲精品55夜色66夜色 | 久久久中文 | 亚洲每日更新6666666 | 亚洲第一页综合图片自拍 |