网络编程(part1)--IO及字节串
鄙人學習筆記
文章目錄
- IO
- 定義
- 程序分類
- 文件
- 字節串(bytes)
- 舉個例子1(字符串與字節串轉換方法1)
- 舉個例子2(字符串與字節串轉換方法2)
- 舉個例子3(byte方法的使用)
IO
定義
在內存中存在數據交換的操作認為是IO操作,比如和終端交互 ,和磁盤(能夠長久保存數據數據的存儲器)交互,和網絡交互等.
程序分類
①IO密集型程序:在程序執行中有大量IO操作,而cpu運算較少.消耗cpu較少,耗時長(IO操作耗時長,效率低.磁盤的讀寫速度,直接會影響到我們程序運行的速度.)
②計算密集型程序:程序運行中計算較多,IO操作相對較少。cpu消耗多,執行速度快,幾乎沒有阻塞。
文件
文件是保存在持久化存儲設備(硬盤、U盤、光盤…)上的一段數據。從功能角度,分為文本文件(打開后會自動解碼為字符,如.py文件)、二進制文件(如視頻、音頻等,必須要用專業的工具,才能顯示出它需要表達的東西)。在Python里把文件視作一種類型的對象,類似之前學習過的其它類型。
字節串(bytes)
在python3中引入了字節串的概念,與字符串str不同,字節串以字節序列值表達數據,更方便用來處理二進制數據。因此字節串是python3表達二進制編碼的一種形式。
①普通的ascii編碼字符串可以在前面加b轉換為字節串,例如:b’hello’
②字符串轉換為字節串方法 :encode()
③字節串轉換為字符串方法 : decode()
備注:ASCII ((American Standard Code for Information Interchange): 美國信息交換標準代碼)是基于拉丁字母的一套電腦編碼系統,主要用于顯示現代英語和其他西歐語言。
舉個例子1(字符串與字節串轉換方法1)
字符串前加b,使其轉換為字節串
(1)字符串為英文
結果:
結果中顯示的b’hello world’就是字節串,為啥它不顯示為01的形式呢?因為這是py的一種表現方法而已,但是他在我們的內存中存儲的形式的確是二進制存儲。
(2)字符串為漢字
結果:
報錯!信息顯示,只允許ASCII編碼序列內的字符串才能表達成字節碼存儲, ASCII編碼序列中沒有漢字。
備注 :那我們要是想實現漢字與字節串的相互轉換該咋整呢?那就要用到encode()和decode()
舉個例子2(字符串與字節串轉換方法2)
利用encode()和decode(),實現字符串與字節串之間的相互轉換。
(1)encode
結果:
這就是python中將”你好” 轉換成字節串的樣子,它由兩位十六進制為一組來表達的。
(2)decode
結果:
備注:我們也可以通過bytes()這種強轉方法,將數據轉換成字節串。
舉個例子3(byte方法的使用)
①byte()內的參數若為整數n,則表示,將一個長度為n的,元素全為0的列表序列轉換為字節串。比如:
結果:
②byte()內的參數若為字符串,則python會將字符串轉換為字節串。但注意,要指定encoding參數為”utf-8”
③byte()內的參數若為整數(0-255內)列表,則表示,將列表整數轉換為bytes字節串
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的网络编程(part1)--IO及字节串的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTML基础(part7)--常用标签之
- 下一篇: 街机游戏合体必杀赏析,专治各种 BOSS