一、什么是文件操作
一個完整的程序一般都包括數據的存儲和讀取;我們在前面寫的程序數據都沒有進行實際的存儲,因此python解釋器執行完數據就消失了
實際開發中,我們經常需要從外部存儲介質(硬盤、光盤、U盤等)讀取數據,或者將程序產生的數據存儲到文件中,實現“持久化”保存
1.1. 文件分類按文件中數據組織形式,我們把文件分為文本文件和二進制文件兩大類:
文本文件文本文件存儲的是普通“字符”文本,python默認為 unicode 字符集,可以使用記事本程序打開
二進制文件二進制文件把數據內容用“字節”進行存儲,無法用記事本打開, 必須使用專用的軟件解碼。
常見的有:MP4視頻文件、MP3音頻文件、JPG圖片、doc文檔等等
1.2. 常用編碼在操作文本文件時,經常會操作中文,這時候就經常會碰到亂碼問題。 為了解決中文亂碼問題,需要學習下各個編碼之前的問題。
常用編碼之間的關系如下:
ASCII
全稱為 American Standard Code for Information Interchange
,美國信息交換標準代碼,這是世界上最早最通用的單字節編碼系統,主要用來顯示現代英語及其他西歐語言
注意事項:
ASCII 碼用7位表示,只能表示128個字符。 只定義了2^7=128個字符,用7bit即可完全編碼, 而一字節8bit的容量是256,所以一字節
ASCII 的編碼最高位總是0
ASCll 碼對應碼表如下: ASCll 碼表
GBK
GBK即漢字內碼擴展規范,英文全稱Chinese Internal Code Specification.
GBK編碼標準兼容GB2312,共收錄漢字21003個、符號883個,并提供1894個造字碼位,簡、繁體字融于一庫。GBK采用雙字節表示,總體編碼范圍為8140-FEFE,首字節在81-FE
之間,尾字節在40-FE 之間
Unicode
Unicode
編碼設計成了固定兩個字節,所有的字符都用16位2^16=65536表示,包括之前只占8位的英文字符等,所以會造成空間的浪費Unicode 完全重新設計,不兼容
iso8859-1 ,也不兼容任何其他編碼
UTF-8
對于英文字母, unicode 也需要兩個字節來表示, 所以 unicode 不便于傳輸和存儲。 因此而產生了 UTF編碼 , UTF-8 全稱是(
8-bit UnicodeTransformation Format )
注意事項
UTF 編碼兼容 iso8859-1 編碼,同時也可以用來表示所有語言的字符
UTF 編碼是不定長編碼,每一個字符的長度從1-4個字節不等。英文字母都是用一個字節表示,而漢字使用三個字節
一般項目都會使用 UTF-8我們之所以傾向于使用UTF-8 , 是因為其不定長編碼可以在節省內存的同時能夠完全兼容中文
剛進入名為人偶懸廊的外圍, 小知便看到了異樣: 自己的僵尸小弟沒有按照自己的命令繼續攻略地下城, 而是在地圖外圍漫無目的徘徊著。
而且不僅僅是自己的僵尸小弟, 甚至還看到了冒險家, 只不過他們也是像僵尸一樣, 如機械般的行動軌跡甚至讓小知懷疑他們是否還活著。 為了能夠更近距離的觀察異樣,
小知決定趁機弄暈一個冒險家, 然后自己加裝被控制的冒險家來進行調查.
-
程序
+關注
關注
117文章
3788瀏覽量
81105 -
python
+關注
關注
56文章
4797瀏覽量
84756
發布評論請先 登錄
相關推薦
評論