FTP 两种传输模式 Binary 和 ASCII 的区别

文章目录

  • 区别
  • 原理分析
  • 建议
  • 常规作法
  • 习惯作法

区别

ASCII 模式和 Binary 模式的区别是换行符的处理,Binary 模式不对数据进行任何处理,ASCII 模式将换行符转换为目标主机操作系统的换行符,换行符号在Unix下是\n(0A),Windows下是\r\n(0D0A),Mac下是\r(0D)。

原理分析

当在一个 Windows 操作系统上用 ASCII 方式从 Unix 服务器上下载文件时,无论是文本文件还是二进制文件(字节码文件/可执行文件/压缩文件等),都会进行检测和转换:每检测到一个 0A(\n),则认为是换行符号,就会自动插入 0D(\r)形成 Windows 下的换行符。

显然,如果下载的是文本文件,这种转换是很有用的,下载后我们能在 Windows 下看到分行正常的文本内容,否则我们看到的是中间夹杂着小黑方块的不换行的一堆文字;然而如果下载的是二进制文件,这种转换无异于画蛇添足,破坏了整个文件。

建议

  1. 服务器(远程主机)和客户端(本地主机)的 OS 不相同

对于 ASCII 文件(文本文件)采用 ASCII 模式下载和上传,对于 Binary 文件(非文本文件)则采用 Binary 模式下载和上传;

  1. 服务器(远程主机)和客户端(本地主机)的 OS 相同

任何一种传输模式都可以

常规作法

一般来说,我们最好都用 Binary 模式来传输资源,这样可以保证不出错。如果有文本格式转换的问题,即unix格式的文本和dos格式的文本之间的转换,有很多工具可以做的,不要在ftp传输的时候冒险,尤其是你如果对这些东西不是非常清楚的话。

习惯作法

在 Windows下编辑的文件(dos 格式)可以先转换成 Unix 格式的文件,然后使用 FTP 的 Binary 模式上传到远程的 Unix 主机上。

例如,你可以使用工具 UltraEdit 的 Conversion 功能,也可以使用 UltraEdit 打开或编辑后另存为 Unix Terminators-LF 的格式。

文件格式转换工具:dos2unix、UltraEdit

这样处理的好处:

  1. 换行符自己控制,灵活清晰;
  2. 不用 ASCII 模式转换,传输速度也快。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/334685.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

东北电力大学计算机专业几本,东北电力大学是几本?东北电力大学怎么样?

东北电力大学的特色专业主要是动力工程及工程热物理、电气工程、土木工程等,每年报考此类专业人数较多,每年的分数线都在一本线以上,下面是学习啦小编给大家带来的东北电力大学是几本,供大家参考!东北电力大学是几本东北电力大学是…

jax-rs jax-ws_什么是JAX-RS注释? (第2部分)

jax-rs jax-wsJAX-RS注释概述(第2部分) 这是一个由三部分组成的系列,介绍了用于实现REST端点的注释。 在JAX-RS注释的第一部分中,您了解了: ApplicationPath批注 Path注释 GET HTTP方法注释 POST HTTP方法注释 …

vue设置标签自定义属性_Vue组件化开发之插槽

插槽为组件提供了强大的扩展能力。我们可以把电脑的主板理解为一个已经封装好的组件,主板上都会预留各种插槽,我们可以往插槽中插入内存条、显卡、声卡等设备。基于同样的思想,Vue在封装组件时,也可以预留插槽,在组件被…

用html和css布局如下图像,[看书][CSS精粹(第2版)]第三章 CSS和图像 HTML网页布局...

**“本作品是用html和css如何实现制作一个网页呢”**那么大家打开此文档可能是为了看看,或者是这次的考试怎么可以学习一下放心大家可以在此处得到一个好的答案...1.介绍如何修改老旧风格的导航,使用CSS,以页面样式替代图片。(加快页面加载速…

国家标准标点符号用法

文章目录1. 范围2. 定义3. 基本规则4. 用法说明4.1 句号4.2 问号4.3 叹号4.4 逗号4.5 顿号4.6 分号4.7 冒号4.8 引号4.9 括号4.10 破折号4.11 省略号4.12 着重号4.13 连接号4.14 间隔号4.15 书名号5. 标点符号的位置6. 直行文稿与横行文稿使用标点符号的不同(1995年12月13日发布…

2019 java值得学吗_Java认证值得吗?

2019 java值得学吗在任何行业中获得证书总是有其利弊,但似乎在技术世界中,情况更加混乱。 由于对熟练的技术人员的需求很大,进入该行业的途径很多,包括学术认证方法和更自学的基于投资组合的方法。 但是,为了促进您的职…

sku设计mysql_基于spring boot拥有完整sku和下单流程的完全商城

一个基于spring boot、spring oauth2.0、mybatis、redis的轻量级、前后端分离、防范xss攻击、拥有分布式锁,为生产环境多实例完全准备,数据库为b2b2c设计,拥有完整sku和下单流程的完全开源商城前言Mall4j项目致力于为中小企业打造一个完整、易…

淮阴工学院计算机期末考选择题题库,淮阴工学院PLC试题库.doc

《淮阴工学院PLC试题库.doc》由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关《淮阴工学院PLC试题库.doc》文档请在天天文库搜索。1、一 、判断题(每题1分,共10分)1. S7-300 PLC中标识符…

文章结构层次序数(序号)的规范要求

文章目录一、层次序数规范二、参考文档一、层次序数规范 第一层为汉字数字加顿号,例如:一、 二、 三、 第二层为小括号中包含汉字数字,例如:(一) (二) (三)…

需求澄清_澄清字符串的格式!

需求澄清用户友好的介绍 如果您不熟悉String格式或只想快速解决问题,那么String格式的Java文档不是最容易阅读和理解的。 尽管它很完整,但是它不是非常用户友好的,所以我想我会尝试编写一个更清晰的版本。 这篇文章不仅对您有帮助&#xff0c…

数据结构铁轨问题_每天5分钟用C#学习数据结构(20)图 Part 1

【基础知识】| 作者 / Edison Zhou这是恰童鞋骚年的第216篇原创文章前面已经介绍了线性表和树两类数据结构,线性表中的元素是“一对一”的关系,树中的元素是“一对多”的关系,本章所述的图结构中的元素则是“多对多”的关系。图(Graph)是一种…

Mac上最好的Markdown文本编辑器_编辑工具

Bear Typora iPic 支持预览,图片不在本地,很多人推荐 Typed Ulysses 对 Code 片段支持不好 Mou 支持预览 MWeb 支持本地图片和图床 Byword 无法预览,对 Code 片段支持不好 Sublime Text 不支持预览 插件 OmniMarkupPreviewer Markdo…

中国大学生计算机设计大赛云南,第14届中国大学生计算机设计大赛云南赛区决赛举行...

掌上春城讯6月19日,2021 年“浪潮杯”云南省大学生计算机设计大赛暨第 14 届中国大学生计算机设计大赛云南赛区决赛在云南工商学院举行。中国大学生计算机设计大赛属于全国高等学校一类竞赛,是一个国家级的以实现高等学校计算机教育培养目标为核心的创新…

jvm gc,gc算法_GC解释:算法

jvm gc,gc算法如前一篇文章中所述,HotSpot JVM中有四个可用的垃圾收集器。 它们之间有一些显着差异,但是用于完成实际工作的算法背后的实际概念非常相似。 在这篇简短的文章中,我将尝试解释三种基本算法: 打标 打标紧凑 标记复…

python 链表倒数第k个节点_链表-删除单链表中倒数第k个节点

题目实现一个函数,一个可以删除单链表中倒数第k个节点难度简单分析本题比较简单,实现方法多种多样,这里提供一种方法首先明确一点,在单链表中删除倒数第k个节点,需要找到他的前一个节点,让前一个节点指向后…

SSL 和 TLS 介绍

SSL(Secure Sockets Layer 安全套接层)及其继任者传输层安全(Transport Layer Security,TLS) 是为网络通信提供安全及数据完整性的一种安全协议。TLS 与 SSL 在传输层对网络连接进行加密。 SSL 功能: 认证用户和服务器&#xff…

天津计算机中级职称需要什么,天津市中级职称评定条件是什么

天津市中级职称评定条件是什么作者:职称驿站浏览量:5351104时间:2019-04-15转眼间2019年马上就要过完三分之一了,对于2019年的职称评审有很多人早早就开始了相关的准备工作,也有一些人才刚刚想到评审的事情&#xff0c…

jsf el表达式_JSP,JSF和EL简介

jsf el表达式JavaServer页面,JavaServer Faces和表达语言 在本文中,我将研究JavaServer Pages(JSP)和Expression Language(EL),然后将其与JavaServer Faces (JSF)关联。 …

wxpython多线程消息传递_wxpython多线程间通信

#!bin/bash/python#-*- codingutf-8 -*-importtimeimportwxfrom threading importThreadfrom wx.lib.pubsub importpubclassTestThread(Thread):def __init__(self):Thread.__init__(self)self.start()defrun(self):#线程执行的代码for i in range(101):time.sleep(0.03)wx.Cal…

浅谈防火墙对 FTP 的影响及故障排除

FTP 是常见的基于TCP的网络服务,它使用了两个TCP连接来建立逻辑通信信道,即控制连接和数据连接。当客户端与服务器建立一个FTP会话时,使用TCP创建一个持久的控制连接以传递命令和应答。当发送文件和其它数据传输时,它们在独立的TC…