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)

相关推荐

  • 怎么解析IE6,IE7浏览器兼容性问题

    技术怎么解析IE6,IE7浏览器兼容性问题这篇文章将为大家详细讲解有关怎么解析IE6,IE7浏览器兼容性问题,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。向大家描述一下I

    攻略 2021年11月25日
  • 关于Java和.Net的感想有哪些

    技术关于Java和.Net的感想有哪些本篇文章给大家分享的是有关关于Java和.Net的感想有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

    攻略 2021年12月2日
  • 怎么使用TFserving

    技术怎么使用TFserving这篇文章主要讲解了“怎么使用TFserving”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用TFserving”吧!1.什么是TFs

    攻略 2021年11月13日
  • assert的用法及注意事项有哪些

    技术assert的用法及注意事项有哪些这篇文章主要介绍“assert的用法及注意事项有哪些”,在日常操作中,相信很多人在assert的用法及注意事项有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望

    攻略 2021年11月3日
  • entityframework三种使用方式(entityframeworkcore教程)

    技术Entity Framework Core 批处理语句是什么小编给大家分享一下Entity Framework Core 批处理语句是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这

    攻略 2021年12月16日
  • 愀怎么读,afternoon怎么读音发音

    技术愀怎么读,afternoon怎么读音发音afternoon 的读音愀怎么读:[ˌɑːftəˈnuːn] 具体解析: afternoon
    英文发音:[ˌɑːftəˈnuːn]
    中文释义:n.下午(中午12点至下午6

    生活 2021年10月21日