使用正确的FTP传输方式

 

 

使用ftp上传文件时,一定注意所选用的传输方式,比如使用了ascii上传文件后之后,再把文件拉回本地,覆盖源文件

会发现文件有了改动,用svn提交时,会有这样的提示

text是相同的,但换行(Newlines)变了

为什么会这样?

FTP有ASCII和Binary两种传输模式。
Binary模式不会对数据进行任何处理。
Ascii模式会将回车换行转换为本机的回车字符。

以我刚上传的文件为例.

以下我原文件的的一部分,第一行是个大括号,然后换行

通过16进制查看工具,可以看到换行符的16进制的表示

蓝色的0A就是右侧蓝色的黑点(换行)的16进制

但我的开发环境是windows,因此使用Ascii传输时,\n变成了\r\n,

因此我再次用ftp把文件呢从服务器拉回本地时,再次查看换行符的16进制

蓝色的0D就是\r,它和右侧的0A共同构成windows的换行符,即\r\n,Ascii方式改变了文件的换行符,这个可不好.

所以,不要使用ascii传输文件.要使用Binary方式.

 参考链接

posted @ 2017-12-18 14:22  toDoYourBest  阅读(...)  评论(... 编辑 收藏