傳送文件檔格式變亂 |
答題得分者是:dllee
|
renth555
一般會員 發表:32 回覆:65 積分:19 註冊:2003-02-17 發送簡訊給我 |
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
您是用 ftp 傳吧,ftp 傳資料有兩種模式 ASCII 及 BINARY 模式,
如果您是把 Linux 主機當成 ftp server 的話,那就都用 BINARY 模式作傳輸,即使是文字檔也可以用 BINARY 模式傳送,這樣可以確保兩邊的資料是完全相同,檔案長度也不會改變,比較不會有問題。
如果使用 ASCII 模式傳送,那 Linux 會對於跳行字元 0x0A 0x0D 等作加碼或減碼的動作,使得檔案長度改變,如果傳送的是有固定格式的檔案,那檔案的格式會被破壞,就有可能出現亂碼的情況。 如果您是使用 ftp 命令列的話,記得先下 bin 的指令,切換到 BINARY 的模式,再傳送檔案。
不過,我想這年頭應該不會有人在用命令列 FTP 吧...
使用 FTP Client 軟體的話,在設定選項中一定有傳輸模式,固定設成二進制 或 bin 或 binary 模式,以強制使用 BINARY 模式傳檔,減少問題。 沒空更新的網頁...
http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com |
renth555
一般會員 發表:32 回覆:65 積分:19 註冊:2003-02-17 發送簡訊給我 |
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
那書說得也沒錯。
我之前回應有特別提到「把 Linux 主機當作 ftp server」,如果是這樣,全部使用 BINARY 就對啦。
不會在 Linux 上操作那些檔案,就不用去管 Linux 處理文字檔的問題,但如果要在 Linux 下處理文字檔,那,由 Windows 傳給 Linux 或由 Linux 收的文字檔,都要以 ASCII 模式來傳送,這樣,在 Windows 下看到的,與 Linux 下看到的就會相同。
如果以 BINARY 模式將文字檔由 Windows 傳給 Linux ,則由 Linux 查看時每一行文字之間會多一行空白行。
而對於非文字檔,就一定要用 BINARY 來傳,把握這個原則,就不會出什麼問題。
在我的網站、我的原始碼中有 TXTCODE 的小程式,可以用來將 BIN/ASC 傳輸的檔案內容作轉換,以便還原文件。可以直接參考以下連結,到我的網站找找。
http://homelf.kimo.com.tw/dllee.tw/leeapps/txtcode.c 沒空更新的網頁...
http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |