AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 18619
Accepted
rcampbell
rcampbell
Asked: 2009-06-04 03:20:03 +0800 CST2009-06-04 03:20:03 +0800 CST 2009-06-04 03:20:03 +0800 CST

您应该在什么基础上选择 ACSII 或通过 FTP 进行的二进制传输?

  • 772

FTP 客户端,包括那些以编程方式使用的客户端,允许用户在上传文件时选择 ASCII 或二进制传输。一些客户端还支持某种 Auto,您将其留给 FTP 客户端来决定。

选择一种格式而不是另一种格式的正确理由是什么?一个人如何决定?除了支持自动检测的客户端外,如何自动执行此决策?

ftp
  • 6 6 个回答
  • 8691 Views

6 个回答

  • Voted
  1. Best Answer
    pipTheGeek
    2009-06-04T03:30:00+08:002009-06-04T03:30:00+08:00

    Windows 使用回车符和换行符来显示文本文件中的行尾。Unix 通常只使用一个(我认为是换行)。当您将文件作为文本 ftp 时,ftp 程序将为您转换行尾。在二进制模式下,文件完全按原样传输。因此,如果您要传输文本文档,请使用 ASCII。其他任何东西和二进制可能是你最好的选择。正如其他人指出的那样,大多数现代文本编辑器无论如何都会处理行尾(记事本没有,也不是现代的:))所以二进制是迄今为止更安全的选择。我也同意@njsf,我不喜欢在我背后更改文件。如果有必要,我的编辑器非常有能力进行查找和替换以修复行尾。

    • 8
  2. njsf
    2009-06-04T03:37:02+08:002009-06-04T03:37:02+08:00

    在这个时代,大多数文本编辑器自动检测并适应 unix/dos/mac 行尾,我发现使用 ASCII ftp 传输的理由很少。我总是使用二进制。

    我不喜欢在幕后更改文件。

    实际上,我现在更倾向于使用 scp 而不是 ftp,而 scp 只是复制位...

    • 4
  3. niXar
    2009-06-04T03:51:43+08:002009-06-04T03:51:43+08:00

    始终使用二进制。如果需要,手动进行转换- 更有可能永远不需要。

    ASCII 模式只是在不同服从的系统之间进行行端转换。现在完全没有意义。大多数编辑器都会适应,XML 解析器大多会忽略它们,您只会在尝试编译 .c 文件或在具有 MS-DOS 行尾的 Unix 上运行 sh 文件时遇到问题——但这通常只是因为错误的 ASCII 模式传输而发生.

    只是对 ASCII 模式说不。无论如何,现代 FTP 客户端将默认为 BINARY。

    • 2
  4. Iain
    2009-06-04T03:37:11+08:002009-06-04T03:37:11+08:00

    就个人而言,我倾向于在每次传输中使用二进制文件。我曾经被一个使用二进制传输从 Windows 机器放置到 unix 机器上的文件所困扰。结果,txt 文件仍然有 CR LF 结尾。

    ASCI 模式查看源和目标平台并执行行尾转换,因此我得到的结果文件有 CR CR LF 行尾(LF 由 ASCI 转换为 CR LF,因为它是 unix -> windows)

    听起来很琐碎——但它是一个 20Gb 的日志文件,我只有一个时间窗口来收集它。

    如果有必要,我会在本地机器上使用 eol 转换工具。

    编辑:我正在将文件从 unix 主机返回到 Windows

    • 1
  5. Christopher
    2009-06-04T03:49:41+08:002009-06-04T03:49:41+08:00

    请注意,使用文本(不是真正的 ASCII)模式可以加快将文本传输到某些系统的速度,因为它们不使用字符集。例如,IBM 大型机和类似系统上的 EBCDIC。

    只要两个系统都使用相同的基本字符集,二进制可能就不那么麻烦了。

    • 1
  6. mateusza
    2009-06-04T03:50:59+08:002009-06-04T03:50:59+08:00

    了解Windows 和 Unix 在文本文件中编码新行的方式是什么,以及二进制和 ASCII 传输模式有什么区别,让您自己回答这个问题。

    • 0

相关问题

  • 从服务器复制到服务器

  • 无法删除或编辑 ProFTPD 服务器上的文件

  • 如何在 Windows 中将 FTP 挂载到驱动器号?

  • 为什么我无法从我的win2008 NAT 后面连接到某些ftp 服务器?

  • 用于 Windows Server 的 FTP 服务?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve