Linux學習筆記:ftp中binary二進制與ascii傳輸模式的區別


  在使用ftp傳輸文件時,常添加上一句:

    binary  -- 使用二進制模式傳輸文件

  遂查資料,如下所獲。


   FTP可用多種格式傳輸文件,通常由系統決定,大多數Linux/UNIX系統只有兩種模式:文本模式二進制模式

  文本傳輸器使用ASCII字符,並由回車鍵和換行符分開,而二進制不用轉換或格式化就可傳字符,二進制模式比文本模式更快,並且可以傳輸所有ASCII值,所以系統管理員一般將FTP設置成二進制模式。

  一般來說: 如果你用錯誤的模式傳輸你的圖片,你將可能無法看到圖片,看到的會是亂碼。

  如果你用錯誤模式上傳CGI腳本,那么就將無法運行你的腳本,會看到類似Server 500 Error的出錯信息。

  所以必須使用正確的模式,圖片和執行文件必須用BINARY模式,CGI腳本和普通HTML文件用ASCII模式上傳。

  ASCII和BINARY模式區別:

  用HTML和文本編寫的文件要用ASCII模式上傳,用二進制模式上傳會破壞文件,導致文件執行出錯。

  BINARY模式用來傳送可執行文件,壓縮文件和圖片文件。

  如果你用ASCII模式傳,可能會顯示一堆亂碼,你必須重新用BINARY模式傳。

  對於第二種情況,是因為有很多ftp服務器和FTP軟件能自動識別文件類型,並采取相應的傳輸方式。

  FTP是應用層協議,和具體操作系統無關。

  ASCII模式和BINARY模式的區別是回車換行的處理,binary模式不對數據進行任何處理,ASCII模式將回車換行轉換為本機的回車字符,比如Unix下是\n,Windows下是\r\n,Mac下是\r。

  一般來說,我們最好都用binary方式,這樣可以保證不出錯。如果有文本格式轉換的問題,即unix格式的文本和dos格式的文本之間的轉換,有很多工具可以做的,不要在ftp傳輸的時候冒險,尤其是你如果對這些東西不是非常清楚的話。


END 2019-04-16 23:43:41


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM