使用正确的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方式.