使用FTPS连接传输文件时,';二进制模式taransfer';和';ASCII模式传输';?

使用FTPS连接传输文件时,';二进制模式taransfer';和';ASCII模式传输';?,ftp,sap,file-transfer,edi,ftps,Ftp,Sap,File Transfer,Edi,Ftps,我正在使用FTPS连接发送文本文件 [此文件将包含EDI(电子数据交换)信息]到邮箱INOVIS。我已将系统配置为打开FTPS连接,并使用PUT命令将文件写入FTP服务器上的文件夹。 问题是:我应该使用哪种文件传输模式?如何在模式之间切换 此外,当通过FTPS连接传输文件时,使用哪种模式是“最佳实践”。 如果有人能为我提供一个小的ftp脚本,那会很有帮助。如果你想要一个精确的副本,数据使用二进制模式-使用ascii模式将假定数据是7位文本(字符0-127),并截断此范围之外的任何数据。可以追溯到

我正在使用FTPS连接发送文本文件 [此文件将包含EDI(电子数据交换)信息]到邮箱INOVIS。我已将系统配置为打开FTPS连接,并使用PUT命令将文件写入FTP服务器上的文件夹。 问题是:我应该使用哪种文件传输模式?如何在模式之间切换

此外,当通过FTPS连接传输文件时,使用哪种模式是“最佳实践”。
如果有人能为我提供一个小的ftp脚本,那会很有帮助。

如果你想要一个精确的副本,数据使用二进制模式-使用ascii模式将假定数据是7位文本(字符0-127),并截断此范围之外的任何数据。可以追溯到神秘的7bit网络时代,ascii模式可以节省您的时间


在我们所处的全球化环境中,非ascii字符(如外语、货币符号等)非常常见。您应该始终使用二进制模式。

ascii模式还可以让最终用户更直接地跨不同平台共享文本文件。他们不必担心默认的行尾(例如cr/lf和lf),因为ASCII模式会在运行时为他们进行转换


对于大多数文件类型,您始终希望使用二进制模式。

ASCII模式会在unix和DOS格式之间更改新行字符\n到\r\n,反之亦然。

ACSII模式基于服务器和客户端平台(CR/LF vs LF)在UNIX和Windows格式之间转换文本文件,二进制文件则不转换。当然,如果您在ASCII模式下传输几乎任何非文本的内容,它可能会因此而损坏。

实际上,ASCII/二进制与第8位无关。这是翻译行尾的惯例

当您在windows计算机上与Unix FTP服务器(FTPS或FTP-无所谓-协议相同)通信时,服务器将在存储文件之前用替换任何-组合,并因此在从Unix服务器获取文件时以相反的方式进行翻译

ASCII模式背后的思想是将行结束符转换为目标平台的相应结束符

今天的世界似乎正在向unix约定()靠拢,而且几乎所有的编辑器(除了记事本)都可以轻松处理unix行的结尾,因此ASCII模式的日子确实已经不多了,我极力建议始终使用二进制传输模式


<>在中间传输中改变数据的前景无论如何都有点吓人。

< P>对于FTP协议,ASCII传输模式将考虑每个字符的第八位为无关紧要的,并将其用于错误检查。至于二进制传输模式,您的数据将按原样发送。请注意,以ASCII模式发送二进制数据(几乎)总是会导致数据损坏。但是,只要发送和接收系统以相同的方式使用第8位(在现代系统中,第8位应保持为0,以防止与扩展ASCII字符集发生冲突),以二进制模式传输ASCII数据即可.

这个问题的许多其他答案都是几乎正确到完全错误的信息的集合

ASCII模式意味着文件应在网络上转换为规范文本形式。除其他外,这意味着:

  • NVT-ASCII字符集。即使原始文件位于其他字符集中,如ASCII、EBCDIC或UTF-8。从技术上讲,这不允许使用第8位字符集,但大多数实现不会强制执行这一点
  • CRLF行结束符
EBCDIC模式是指一组类似的规则,但导线上的数据应在EBCDIC中

本地模式允许以每字节8位以外的大小发送数据

图像(或二进制)模式意味着数据应在不作任何更改的情况下发送。用户应确保目标系统在数据到达后能够理解数据


除其他外,这意味着如果所涉及的系统之一不使用基于ASCII的字符集,则使用二进制模式发送文本数据的建议将失败。

ASCII传输模式将不允许修改第8位。ASCII模式仅在文件实际上不包含文本时才会导致数据损坏。如果2个系统在字符集上不一致,以二进制模式传输ASCII将不总是有效。