• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            colorful

            zc qq:1337220912

             

            文本模式 二進制模式& 文本文件 二進制文件

            這幾個概念很常見但是也容易搞混。前兩者是相反的意思,后兩者是一對。

            1. 文本模式(textmode)和二進制模式(binarymode)的區別

            0.  無論你用哪種語言進行程序設計,也無論你用哪個函數進行文件操作(庫函數也好,直接操作系統API也好),最終的文件打開的操作都是由操作系統來進行的,因此各種語言的情況從本質上來說都是相同的。用二進制模式打開一個文件的時候,文件本身的內容和你編寫程序時用函數讀到的內容完全相同(或者說和磁盤上的內容完全相同)。但是如果用了文本模式,那么操作系統在將文件內容傳給上層程序(庫函數,或者是你的程序)時,或者上層程序通過操作系統向文件寫入內容時,操作系統都會預先進行一層預處理(或者說轉義),具體過程依賴于操作系統的實現。

            1.  在unix(包括linux)系統上,一個程序從文件里讀數據,它得到的數據就是數據本身,一個一個的字節。然而在windows系統上,一個文件可以 用兩種模式打開,二進制模式或者文本模式,在二進制模式下,表現的就像unix系統;然而在文本模式下,會有一個轉換。是\n <-------> \r\n之間的轉換。具體講就是將回車符"\r\n"解釋成"\n"(讀出時),將"\n"解釋成"\r\n"(寫入時)。總之,在unix系統上,打開文件只有二進制模式,在windows系統上,打開文件有文本模式和二進制模式兩種。

            2.文本文件與二進制文件的區別:

            將文件看作是由一個一個字節(byte) 組成的, 那么文本文件中的每個字節的最高位都是0,也就是說文本文件使用了一個字節中的七位來表示所有的信息,而二進制文件則是將字節中的所有位都用上了。這就是兩者的區別;接著,第二個問題就是文件按照文本方式或者二進制方式打開,兩者會有什么不同呢?其實不管是二進制文件也好,還是文本文件也好,都是一連串的01,但是打開方式不同,對于這些01的處理也就不同。如果按照文本方式打開,在打開的時候會進行translate,將每個字節轉換成ASCII碼,而以按照二進制方式打開的話,則不會進行任何的translate;最后就是文本文件和二進制文件在編輯的時候,使用的方式也是不同的。譬如,你在記事本中進行文本編輯的時候,你進行編輯的最小單位是字節(byte);而對二進制文件進行編輯的話,最小單位則是位(bit),當然我們都不會直接通過手工的方式對二進制文件進行編輯了。

            從文件編碼的方式來看,文件可分為ASCII碼文件和二進制碼文件兩種:
            ASCII
            文件也稱為文本文件,這種文件在磁盤中存放時每個字符對應一個字節,用于存放對應的ASCII碼。例如,數5678的存儲形式為: 
            ASCII
            碼: 00110101 00110110 00110111 00111000 
                                 ↓          
             ↓      ↓         
              
            十進制碼:    5     6         7       

            共占用4個字節。ASCII碼文件可在屏幕上按字符顯示,例如源程序文件就是ASCII文件,用DOS命令TYPE可顯示文件的內容。由于是按字符顯示,因此能讀懂文件內容。

            二進制文件是按二進制的編碼方式來存放文件的。例如,數5678的存儲形式為:00010110 00101110 只占二個字節。二進制文件雖然也可在屏幕上顯示,但其內容無法讀懂。C系統在處理這些文件時,并不區分類型,都看成是字符流,按字節進行處理。輸入輸出字符流的開始和結束只由程序控制而不受物理符號(如回車符)的控制。因此也把這種文件稱作流式文件 

            posted on 2012-06-17 22:51 多彩人生 閱讀(592) 評論(0)  編輯 收藏 引用

            導航

            統計

            常用鏈接

            留言簿(3)

            隨筆分類

            隨筆檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            久久久久av无码免费网| 看全色黄大色大片免费久久久| 久久国产美女免费观看精品| 2021久久国自产拍精品| 久久久噜噜噜www成人网| 色88久久久久高潮综合影院| 久久综合亚洲鲁鲁五月天| 热久久视久久精品18| 亚洲精品综合久久| 精品无码久久久久国产动漫3d| 久久这里只精品99re66| 精品国产99久久久久久麻豆| 久久精品国产99久久久古代| 一本色道久久综合亚洲精品| 亚洲AV成人无码久久精品老人| 浪潮AV色综合久久天堂| 欧美噜噜久久久XXX| 国产精品久久久天天影视| 国产成人精品久久亚洲高清不卡 | 国产免费久久精品99re丫y| 久久夜色精品国产亚洲av| 久久亚洲中文字幕精品一区| 久久精品亚洲日本波多野结衣| 国产成人综合久久综合| 久久中文字幕无码专区| 97久久婷婷五月综合色d啪蜜芽| 久久精品国产亚洲AV无码麻豆| 99久久免费国产特黄| 亚洲伊人久久成综合人影院| 中文字幕热久久久久久久| 久久99精品综合国产首页| 天堂无码久久综合东京热| 久久久久久久97| 天天影视色香欲综合久久| 99久久国产热无码精品免费 | 国产呻吟久久久久久久92| 久久久这里只有精品加勒比| 久久男人Av资源网站无码软件| 狠狠精品久久久无码中文字幕| 99久久精品国产一区二区| 国内精品欧美久久精品|