您当前的位置: 首页 >  ar

liaowenxiong

暂无认证

  • 0浏览

    0关注

    1171博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

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

liaowenxiong 发布时间:2021-04-08 23:46:08 ,浏览量:0

文章目录
  • 区别
  • 原理分析
  • 建议
  • 常规作法
  • 习惯作法

区别

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 模式转换,传输速度也快。
关注
打赏
1661566967
查看更多评论
立即登录/注册

微信扫码登录

0.0393s