開啟檔案時為什麼要用二進位制模式

2021-06-28 14:56:08 字數 465 閱讀 9438

source:python基礎教程p208

正常來講,對於乙個普通的文字檔案,用文字模式開啟和用二進位制開啟,是沒有多大區別的。

但是這裡有個問題,win下,換行符是『\r\n』,unix下是『\n』,windows下的檔案,python開啟的時候,怎麼處理呢? python是這樣處理的:如果是文字方式開啟這個檔案,那麼python會把這個檔案中的'\r\n'都給替換成'\n',然後在由python處理。反之,寫的時候再'\n'換成'\r\n'(往win下的檔案中寫)。

問題來了,如果這個時候,這個檔案不是一般的文字檔案,而是音訊檔案呢? 如果是音訊檔案,那麼裡面出現的'\r\n' ,而這個'\r\n'不是換行,因為是音訊檔案,是用來發聲的,它會被替換成'\n', 本來'\r\n'發音成」爸爸「,結果替換成'\n'後發音成」媽媽「了,這個不是出現錯誤了嘛! 但是如果用二進位制模式開啟,就不會出現這個問題了。因為,二進位制開啟乙個檔案的時候,python不會做替換工作!

為何要用二進位制檔案讀寫

google發布word2vec以後,身為nlp一枚小菜雞,必須也得試試它的效果。嘗試把這套神經網路架構的word embedding 搞清楚,於是詳讀 了。好久不碰c,加上本來就不熟c,所以在i o上讀的有點吃力 不過一開始就學到一點,二進位制檔案的讀寫 coding的時候基本上沒有什麼區別,加乙...

二進位制檔案

本質上是文字檔案是把檔案資訊先轉化成以字元編碼的ascii碼,再儲存ascii的二進位制 而二進位制檔案是直接把檔案資訊編碼成二進位制儲存。因此在讀取的時候要考慮記憶體中二進位制 應該怎麼樣解釋。二進位制檔案的讀取是是要告訴元素的型別 編碼方式 文字檔案則預設為char型別。文字檔案是一種特殊的二進...

二進位制檔案

二進位制檔案 也叫型別檔案 二進位制檔案是由一批同一型別的資料組成的乙個資料序列,就是說乙個具體的二進位制檔案只能存放同一種型別的資料。type tmember record name string 10 email string 20 posts longint end var members a...