ftp傳送形式 二進位制與ascii形式的區別

2021-06-09 03:07:44 字數 1198 閱讀 7554

ftp可用多種格式傳輸檔案,通常由系統決定,大多數系統(包括unix系統)只有兩種模式:文字模式和二進位制模式。文字傳輸器使用ascii字元,並由回車鍵和換行符分開,而二進位制不用轉換或格式化就可傳字元,二進位制模式比文字模式更快,並且可以傳輸所有ascii值,所以系統管理員一般將ftp設定成二進位制模式。

一般來說: 如果你用錯誤的模式傳輸你的,你將會無法看到,看到的會是亂碼。 如果你用錯誤模式上傳cgi指令碼,那麼就將無法執行你的指令碼,會看到類似server 500 error的出錯資訊。

所以你必須使用正確的模式,和執行檔案必須用binary模式,cgi指令碼和普通html檔案用ascii模式上傳.

ascii 和binary模式區別:

用html 和文字編寫的檔案必須用ascii模式上傳,用binary模式上傳會破壞檔案,導致檔案執行出錯。

binary模式用來傳送可執行檔案,壓縮檔案,和檔案。

如果你用ascii模式傳,會顯示一堆亂碼,你必須重新用binary模式傳。

對於第二種情況,是因為有很多ftp伺服器和客戶端軟體能自動識別檔案型別,並採取相應的傳輸方式。

ftp是應用層協議,和具體作業系統無關 .

ascii 模式和binary模式的區別是回車換行的處理,binary模式不對資料進行任何處理,asci模式將回車換行轉換為本機的回車字元,比如unix下是\n,windows下是\r\n,mac下是\r

ascii模式下會轉換檔案

不能說是不同系統對回車換行解釋不同

而是不同的系統有不同的行結束符

unix系統下行結束符是乙個位元組,即十六進製制的0a

而ms的系統是兩個位元組,即十六進製制的0d0a

位元組是0a,就會自動插入乙個0d,所以如果你的檔案是二進位制檔案比如可執行檔案、壓縮包什麼的,就肯

定不能用了。如果你的檔案就是unix下的文字檔案,你用 ascii模式是正確的,要是誤用了binary模式,

你在windows上看這個檔案是沒有換行的,裡面是乙個個的黑方塊。

一般來說,我們最好都用binary方式,這樣可以保證不出錯。如果有文字格式轉換的問題,即unix格式

的文字和dos格式的文字之間的轉換,有很多任務具可以做的,不要在ftp傳輸的時候冒險,尤其是你如果對

這些東西不是非常清楚的話。

可以使用mime,把所有的字元,轉換成0~128之間的字元,然後傳送,在接受方再將接收到的字元mime反向轉換。通常我們傳送郵件,就是使用這樣的字元轉換方式。

二進位制 二進位制起源

現代通訊技術的基礎是二進位制編碼。早在1865年麥克斯韋總結出麥克斯韋方程組之前,美國人摩斯 morse 於1837年發明了摩斯電碼和有線電報。有線電報的出現,具有劃時代的意義 它讓人類獲得了一種全新的資訊傳遞方式,這種方式 看不見 摸不著 聽不到 完全不同於以往的信件 旗語 號角 烽火,這也是二進...

JAVA與二進位制

system.out.println 51 7 如上 的結果是 3 答案 00000000 00000000 00000000 00110011 00000000 00000000 00000000 00000111 2進製 計算機內部 只有 2進製資料。任何資訊都必須轉換為2進製,再由計算機處理。...

二進位制與bitset

運算子 與 and 1 1 1 0 1 0 1 0 0 0 0 0 或 or 1 1 1 0 1 1 1 0 1 0 0 0 異或 xor 1 1 0 0 1 1 1 0 1 0 0 0 非 not 1 0 0 1 邏輯移位 邏輯左移 x y 把x的每個二進位制位向左移動y位,移動造成的最右邊空位由...