仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 657|回复: 7
打印 上一主题 下一主题

[其他Linux] 给大家带来ftp传送形式:二进制与ascii形式的区分

[复制链接]
柔情似水 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 12:29:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
要多google,因为我不可能,也不可以给你解答所有内容,我只能告诉你一些关键点,甚至我会故意隐瞒答案,因为在寻找答案的过程中。
 FTP可用多种格局传输文件,一般由体系决意,年夜多半体系(包含UNIX体系)只要两种形式:文本形式和二进制形式。文本传输器利用ASCII字符,并由回车键和换行符分隔,而二进制不必转换或格局化便可传字符,二进制形式比文本形式更快,而且能够传输一切ASCII值,以是体系办理员一样平常将FTP设置成二进制形式。
  一样平常来讲:假如你用毛病的形式传输你的图片,你将会没法看到图片,看到的会是乱码。假如你用毛病形式上传CGI剧本,那末就将没法运转你的剧本,会看到相似Server500Error的堕落信息。
  以是你必需利用准确的形式,图片和实行文件必需用BINARY形式,CGI剧本和一般HTML文件用ASCII形式上传.
  ASCII和BINARY形式区分:
  用HTML和文本编写的文件必需用ASCII形式上传,用BINARY形式上传会损坏文件,招致文件实行堕落。
  BINARY形式用来传送可实行文件,紧缩文件,和图片文件。
  假如你用ASCII形式传,会显现一堆乱码,你必需从头用BINARY形式传。
  关于第二种情形,是由于有良多ftp服务器和客户端软件能主动辨认文件范例,并接纳响应的传输体例。
  ftp是使用层协定,和详细操纵体系有关.
  ASCII形式和BINARY形式的区分是回车换行的处置,binary形式不合错误数据举行任那边理,asci形式将回车换行转换为本机的回车字符,好比Unix下是
,Windows下是
,Mac下是
  ascii形式下会转换文件
  不克不及说是分歧体系对回车换行注释分歧
  而是分歧的体系有分歧的行停止符
  unix体系下行停止符是一个字节,即十六进制的0A
  而ms的体系是两个字节,即十六进制的0D0A
  以是当你用ascii体例从unix的ftpserver下载文件时(不论是二进制大概文本文件),每检测到一个
  字节是0A,就会主动拔出一个0D,以是假如你的文件是二进制文件好比可实行文件、紧缩包甚么的,就肯
  定不克不及用了。假如你的文件就是unix下的文本文件,你用ascii形式是准确的,如果误用了binary形式,
  你在windows上看这个文件是没有换行的,内里是一个个的黑方块。
  一样平常来讲,我们最好都用binary体例,如许能够包管不堕落。假如有文本格局转换的成绩,即unix格局
  的文本和dos格局的文本之间的转换,有良多工具能够做的,不要在ftp传输的时分冒险,特别是你假如对
  这些器材不长短常分明的话。
  可使用MIME,把一切的字符,转换成0~128之间的字符,然后传送,在承受方再将吸收到的字符MIME反向转换。一般我们发送邮件,就是利用如许的字符转换体例
  ------------------------------------------------------------------
  增补:文本形式和二进制形式传文本文件的详细区分能够经由过程在linux下利用cat-A文件名看到二者的区分,固然条件是在windows下上传的文本为dos格局,这个能够用初级的文本编纂器看如ultraedit等。二者的区分是二进制形式上传的文本比文本形式多一个^M标记,这个就是windows下dos格局的/r回车标记,也就是下面提到的十六进制的0D,在vi下利用全局交换:%s/^M//g[^M利用Ctrl+V+M而不是间接输出^M]往失落一切的回车符大概利用dos2unixfile举行转换,如许保留后大概天生后的文件就和文本形式上传的文件一样了
</p>
要明白学好linux不是一件一蹴而就的事,一定要能坚持使用它,特别是在使用初期。
小女巫 该用户已被删除
沙发
发表于 2015-1-18 09:50:15 | 只看该作者
感谢老师和同学们在学习上对我的帮助。
透明 该用户已被删除
板凳
发表于 2015-1-24 12:04:52 | 只看该作者
一定要学好命令,shell是命令语言,命令解释程序及程序设计语言的统称,shell也负责用户和操作系统之间的沟通。
小魔女 该用户已被删除
地板
发表于 2015-2-2 21:38:31 | 只看该作者
把这个问题放在其他Linux社区请求帮助也是一种选择。如果Linux得不到答案,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答案罢了。这时换一个社区是不错的选择。
乐观 该用户已被删除
5#
发表于 2015-2-8 06:55:25 | 只看该作者
要增加自己Linux的技能,只有通过实践来实现了。所以,赶快找一部计算机,赶快安装一个Linux发行版本,然后进入精彩的Linux世界,相信对于你自己的Linux能力必然大有斩获。
透明 该用户已被删除
6#
发表于 2015-2-24 23:24:03 | 只看该作者
任何人都可以根据自己的喜好来定制适合自己的操作系统,Linux?是抢占式多任务多用户操作系统.
爱飞 该用户已被删除
7#
发表于 2015-3-7 14:37:51 | 只看该作者
眼看这个学期的Linux课程已经告一段落了,我觉得有必要写一遍心得体会来总结一下这学期对着门课程的学习。
分手快乐 该用户已被删除
8#
发表于 2015-3-15 08:25:54 | 只看该作者
我感觉linux的学习,学习编程~!~!就去学习C语言编程!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 04:05

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表