ftp命令中binary mode与ascii mode的区别是怎样的

技术ftp命令中binary mode与ascii mode的区别是怎样的这篇文章给大家介绍ftp命令中binary mode与ascii mode的区别是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能

本文介绍了ftp命令中二进制模式和ascii模式的区别,内容非常详细。感兴趣的朋友可以参考一下,希望对你有所帮助。

FTP可以传输各种格式的文件,通常由系统决定。大多数系统(包括UNIX系统)只有两种模式:文本模式和二进制模式。文本传输器使用ASCII字符,由回车键和换行符分隔,而二进制可以传输字符,无需转换或格式化,二进制模式比文本模式更快,可以传输所有ASCII值,所以系统管理员一般将FTP设置成二进制模式.

一般来说,如果你以错误的模式传输你的图片,你将看不到图片,但你会看到乱码。如果您在错误模式下上传CGI脚本,您将无法运行您的脚本,并且您将看到类似于服务器500错误的错误消息。

所以你必须使用正确的模式。图片和可执行文件必须以BINARY模式上传,CGI脚本和普通HTML文件必须以ASCII模式上传。

ASCII 和BINARY模式区别:

用HTML和文本编写的文件必须以ASCII模式上传。以BINARY模式上传会破坏文件并导致文件执行错误。

BINARY模式用于传输可执行文件、压缩文件和图片文件。

如果以ASCII模式发送,会显示一堆随机码,必须再次以BINARY模式发送。

在第二种情况下,有许多ftp服务器和客户端软件可以自动识别文件类型并采用相应的传输方法。

Ftp是应用层协议,与具体操作系统无关。

asciI模式和BINARY模式的区别在于回车和换行的处理。二进制模式不处理任何数据。ASCI模式将回车符和换行符转换成本机的回车符,如Unix下的\n,\r\n下的\ n,Windows下的\r \ n和Mac下的\ r \ n。

ascii模式下会转换文件

不能说不同的系统对回车、换行符有不同的解释。

但是不同的系统有不同的行结束符.

Unix系统下行终结符是一个字节,也就是十六进制的0A。

ms的系统是两个字节,也就是十六进制的0D0A。

  所以当你用ascii方式从unix的ftp server下载文件时(不管是二进制或者文本文件),每检测到一个字节是0A,就会自动插入一个0D,所以如果你的文件是二进制文件比如可执行文件、压缩包什么的,就肯定不能用了。如果你的文件就是unix下的文本文件,你用 ascii模式是正确的,要是误用了binary模式,你在windows上看这个文件是没有换行的,里面是一个个的黑方块。

一般来说,我们最好都使用二进制方法,以确保不出错。如果文本格式转换有问题,即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]删除所有回车或使用dos2unix文件进行转换,以便保存或生成的文件与以文本模式上传的文件相同。

我希望在这里分享ftp命令中二进制模式和ascii模式的区别。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/107015.html

(0)

相关推荐

  • 桑巴CVE-2018-1050和CVE-2018-1057指的是什么?

    技术Samba CVE-2018-1050和CVE-2018-1057指的是什么这篇文章将为大家详细讲解有关Samba CVE-2018-1050和CVE-2018-1057指的是什么,文章内容质量较高,因此小编分享给大

    攻略 2021年12月20日
  • zookeeper和eureka使用场景(eureka与zookeeper差别)

    技术如何进行ZooKeeper与Eureka的比较如何进行ZooKeeper与Eureka的比较,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获

    攻略 2021年12月24日
  • cloudera manager 集群要求(cloudera hadoop 管理员认证)

    技术如何在Cloudera Manager中使用SAML配置身份认证这篇文章主要为大家展示了“如何在Cloudera Manager中使用SAML配置身份认证”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小

    攻略 2021年12月24日
  • 0337-打家劫舍III

    技术0337-打家劫舍III 0337-打家劫舍III在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一

    礼包 2021年12月3日
  • 221. 最大正方形

    技术221. 最大正方形 221. 最大正方形在一个由 '0' 和 '1' 组成的二维矩阵内,找到只包含 '1' 的最大正方形,并返回其面积。
    来源:力扣(LeetCode)
    链接:https://le

    礼包 2021年12月21日
  • 数据库中表连接方式有哪些

    技术数据库中表连接方式有哪些这篇文章将为大家详细讲解有关数据库中表连接方式有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 1 nested loop

    攻略 2021年11月20日