Linux学习笔记:ftp中binary二进制与ascii传输模式的区别
在使用ftp传输文件时,常添加上一句:
binary -- 使用二进制模式传输文件
遂查资料,如下所获。
FTP可用多种格式传输文件,通常由系统决定,大多数Linux/UNIX系统只有两种模式:文本模式和二进制模式。
文本传输器使用ASCII字符,并由回车键和换行符分开,而二进制不用转换或格式化就可传字符,二进制模式比文本模式更快,并且可以传输所有ASCII值,所以系统管理员一般将FTP设置成二进制模式。
一般来说: 如果你用错误的模式传输你的图片,你将可能无法看到图片,看到的会是乱码。
如果你用错误模式上传CGI脚本,那么就将无法运行你的脚本,会看到类似Server 500 Error的出错信息。
所以必须使用正确的模式,图片和执行文件必须用BINARY模式,CGI脚本和普通HTML文件用ASCII模式上传。
ASCII和BINARY模式区别:
用HTML和文本编写的文件要用ASCII模式上传,用二进制模式上传会破坏文件,导致文件执行出错。
BINARY模式用来传送可执行文件,压缩文件和图片文件。
如果你用ASCII模式传,可能会显示一堆乱码,你必须重新用BINARY模式传。
对于第二种情况,是因为有很多ftp服务器和FTP软件能自动识别文件类型,并采取相应的传输方式。
FTP是应用层协议,和具体操作系统无关。
ASCII模式和BINARY模式的区别是回车换行的处理,binary模式不对数据进行任何处理,ASCII模式将回车换行转换为本机的回车字符,比如Unix下是\n,Windows下是\r\n,Mac下是\r。
一般来说,我们最好都用binary方式,这样可以保证不出错。如果有文本格式转换的问题,即unix格式的文本和dos格式的文本之间的转换,有很多工具可以做的,不要在ftp传输的时候冒险,尤其是你如果对这些东西不是非常清楚的话。
END 2019-04-16 23:43:41
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)