ftp中ascii与二进制传输有什么不同呀?

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
新office菜鸟
帖子: 293
注册时间: 2010-02-22 17:24

ftp中ascii与二进制传输有什么不同呀?

#1

帖子 新office菜鸟 » 2010-03-02 16:18

请问:
ftp中ascii与二进制传输有什么不同呀?
mayi
帖子: 196
注册时间: 2008-06-25 11:28

Re: ftp中ascii与二进制传输有什么不同呀?

#2

帖子 mayi » 2010-03-02 18:22

不同的文件类型,需要用合适的传输格式。
这是因为不同的系统对TXT文件格式会有差别,如果用二进制,两边文件会完全一致,但ASCII会作合适转换。
典型的差异如UNIX系统下,TXT文件只会使用换行符,而WIN系统下,还会有个回车符。使用ASCII,就会自动加上或删除回车符。
如果用BIN,则不会。
如果你不确认时,建议都用二进制。反正都会有转换工具的。
山不转,水转,山不移,我移。
delectate
帖子: 18311
注册时间: 2008-01-09 22:41

Re: ftp中ascii与二进制传输有什么不同呀?

#3

帖子 delectate » 2010-03-02 18:29

mayi 写了:不同的文件类型,需要用合适的传输格式。
这是因为不同的系统对TXT文件格式会有差别,如果用二进制,两边文件会完全一致,但ASCII会作合适转换。
典型的差异如UNIX系统下,TXT文件只会使用换行符,而WIN系统下,还会有个回车符。使用ASCII,就会自动加上或删除回车符。
如果用BIN,则不会。
如果你不确认时,建议都用二进制。反正都会有转换工具的。
learn it

binary is best way to transport files?
头像
冲浪板
论坛版主
帖子: 7513
注册时间: 2007-05-06 8:19

Re: ftp中ascii与二进制传输有什么不同呀?

#4

帖子 冲浪板 » 2010-03-02 18:35

二进制文件若用ascii码传,有可能被截断;
ascii码文件用二进制传,有可能多传了无用的数据,当然你读文件不会出问题。
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

Re: ftp中ascii与二进制传输有什么不同呀?

#5

帖子 BigSnake.NET » 2010-03-02 18:36

ascii的话会做换行符转换
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
新office菜鸟
帖子: 293
注册时间: 2010-02-22 17:24

Re: ftp中ascii与二进制传输有什么不同呀?

#6

帖子 新office菜鸟 » 2010-03-02 19:57

mayi 写了:不同的文件类型,需要用合适的传输格式。
这是因为不同的系统对TXT文件格式会有差别,如果用二进制,两边文件会完全一致,但ASCII会作合适转换。
典型的差异如UNIX系统下,TXT文件只会使用换行符,而WIN系统下,还会有个回车符。使用ASCII,就会自动加上或删除回车符。
如果用BIN,则不会。
如果你不确认时,建议都用二进制。反正都会有转换工具的。
谢谢各位,
不过还不是很明白,
比如:A要传送一个文件给B,
这里的传输模式由A来决定还是由B来决定的呀?
什么是ASCII文件,什么是二进制文件??
ASCII是否指字符,而二进制是否指0101组合的?
“典型的差异如UNIX系统下,TXT文件只会使用换行符,而WIN系统下,还会有个回车符。使用ASCII,就会自动加上或删除回车符。
如果用BIN,则不会”这句话是什么意思?
是否可以这样理解:
A如果是unix系统,B如果是win系统,那么如果它们之间使用ascii方式传送(这个方式是由谁来决定的呀??)
那么文件是从B传送到A的,那么里面的回车符到A后就不见了。如果从A到B呢?情况又会是怎样呀?谢谢。
poet
帖子: 2841
注册时间: 2006-09-11 22:47

Re: ftp中ascii与二进制传输有什么不同呀?

#7

帖子 poet » 2010-03-03 13:38

这是针对服务器和你的客户端来说的。ftp 协议由于历史的原因,设定了缺省值为 asc 模式,也就是说如果你没有进行任何设置,将使用asc模式传输,这导致了缺省情况下 bin 文件可能无法正常传输。

如果服务器是 Windows,客户端也是 Windows,那么对于文本你怎么设置都无所谓。对于bin你必须设置为bin。——总的来说,全部设置为 bin 即可。

如果服务器是 Linux,客户端也是 Linux,那么你怎么设置都无所谓,因为Linux下处理bin和asc是一样的,总的来说,无须任何设置。

如果服务器是 Linux,客户端是 Windows。那么对于文本可以任意设置,但对于bin必须设置为bin。总的来说,全部设置为bin即可。

如果服务器是 Windows,客户端是 Linux。那么文本必须设置为文本,bin必须设置为bin。通常不可以混用。


一句话概括就是,如果你的服务器跟客户端都是linux,那么你无须理睬这个设置。否则,需要进行相应的设置,最好设置为 bin。——但当服务器是windows时全设bin还不行,还需要正常设置文本文件的类型为 asc。——这隐含着告诉你使用linux作为服务器可以简化很多事情。
poet
帖子: 2841
注册时间: 2006-09-11 22:47

Re: ftp中ascii与二进制传输有什么不同呀?

#8

帖子 poet » 2010-03-03 13:48

新office菜鸟 写了: 什么是ASCII文件,什么是二进制文件??
最初定义这个是基于 Unix 系统的,Windows 的出现把这个问题复杂化了,因为在 Windows 中并没有明确的定义可以判定一个文件是属于 ascii 文件还是属于二进制文件。

对于 Unix 系统来说,文本文件有如下特性:

1。由若干个“行”元素组成,每一行都必须以 \n 结尾。除此之外不含有其它元素。
2。每一行内部都不含有 \n 字符,也不含有 \0 字符。

以上说明,如果一个文件的最后一个字符不是 \n,或者里面含有 \0 字符,那么它必须被判定为二进制文件。
新office菜鸟
帖子: 293
注册时间: 2010-02-22 17:24

Re: ftp中ascii与二进制传输有什么不同呀?

#9

帖子 新office菜鸟 » 2010-05-03 10:10

poet 写了:这是针对服务器和你的客户端来说的。ftp 协议由于历史的原因,设定了缺省值为 asc 模式,也就是说如果你没有进行任何设置,将使用asc模式传输,这导致了缺省情况下 bin 文件可能无法正常传输。

如果服务器是 Windows,客户端也是 Windows,那么对于文本你怎么设置都无所谓。对于bin你必须设置为bin。——总的来说,全部设置为 bin 即可。

如果服务器是 Linux,客户端也是 Linux,那么你怎么设置都无所谓,因为Linux下处理bin和asc是一样的,总的来说,无须任何设置。

如果服务器是 Linux,客户端是 Windows。那么对于文本可以任意设置,但对于bin必须设置为bin。总的来说,全部设置为bin即可。

如果服务器是 Windows,客户端是 Linux。那么文本必须设置为文本,bin必须设置为bin。通常不可以混用。


一句话概括就是,如果你的服务器跟客户端都是linux,那么你无须理睬这个设置。否则,需要进行相应的设置,最好设置为 bin。——但当服务器是windows时全设bin还不行,还需要正常设置文本文件的类型为 asc。——这隐含着告诉你使用linux作为服务器可以简化很多事情。
谢谢,不知道设置这个ascii是在客户端还是服务器上设置的呢?
回复