Chinaunix首页 | 论坛 | 博客
  • 博客访问: 46568
  • 博文数量: 9
  • 博客积分: 425
  • 博客等级: 下士
  • 技术积分: 95
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-28 19:10
文章分类

全部博文(9)

文章存档

2011年(9)

分类: 系统运维

2011-08-05 21:52:38

    ASCII模式和BINARY模式的区别是回车换行的处理,binary模式不对数据进行任何处理,asci模式将回车换行转换为本机的回车字符,比如Unix下是\n,Windows下是\r\n,Mac下是\r
    ascii模式下会转换文件

    不能说是不同系统对回车换行解释不同,而是不同的系统有不同的行结束符unix系统下行结束符是一个字节,即十六进制的0A,而ms的系统是两个字节,即十六进制的0D0A
所以当你用ascii方式从unix的ftp server下载文件时(不管是二进制或者文本文件),每检测到一个字节是0A,就会自动插入一个0D,所以如果你的文件是二进制文件比如可执行文件、压缩包什么的,就肯定不能用了。

    如果你的文件就是unix下的文本文件,你用ascii模式是正确的,要是误用了binary模式,你在windows上看这个文件是没有换行的,里面是一个个的黑方块。

    一般来说,我们最好都用binary方式,这样可以保证不出错。如果有文本格式转换的问题,即unix格式的文本和dos格式的文本之间的转换,所以,可以采用这样的习惯:
所有的FTP传输都采用binary方式,但是在windows下面编辑的文件需要事先转换成Unix模式,这个可以使用UltraEdit的conversion功能,也可以在UltraEdit下面另存为Unix Terminators-LF的格式。
阅读(1374) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~