File-Transfer

ASCII vs 二進制 vs 自動?

  • August 14, 2012

我正在伺服器之間傳輸文件,剛開始注意到其中一些被修改為一條長的連續線,而不是原來的返回和換行符。我假設這與我最初設置為“自動”的 FTP 客戶端的傳輸類型有關,但將“二進制”和“ASCII”作為附加選項。

簡而言之,我將文件從一台伺服器傳輸到另一台伺服器的方式有什麼區別,這些區別是否能夠以我上面提到的方式修改文件?

Windows轉移Linux。

FTP 的“二進制”傳輸模式精確地逐字節複製文件。簡單明了。

但是,在不同作業系統之間引入文本文件時,這可能不是您想要的——不同的作業系統使用不同的程式碼來表示換行符。為此目的存在“ASCII”模式:它自動將所有行尾從源系統的格式轉換為目標的格式。

不確定“自動”,但我想它看起來文件的副檔名或類似的東西來決定它是否是一個文本文件,並試圖猜測適當的模式。

您想要哪種模式取決於您對文件所做的確切操作……如果您只是複制它們以備份它們,那麼您可能希望以二進制模式複制,以便它們在您稍後將它們再次恢復到 Windows 伺服器。如果它們需要在雙方都用作文本文件(也許作為跨平台程序的配置文件?),您將需要使用 ASCII 模式來翻譯它們。

**編輯:**據我所知,從 Windows 到 Linux 的 FTP 文件永遠不會導致換行符消失……但是,如果您以 ASCII 模式複制它們,然後以二進制模式將它們帶回Windows 伺服器,Linux - 樣式的行尾可能無法在 Windows 框中辨識。(記事本不會看到它們;寫字板會;YMMV 與其他軟體。)

(今天,在 FTP 這樣的基本協議中,這種便利——自動轉換行尾——可能看起來很奇怪。然而,當 FTP 被發明時,發送文本文件是常態,該協議的目標之一是使這盡可能簡單。)

引用自:https://serverfault.com/questions/110699