作者vicamo (asdf)
看板ask
标题Re: 如果FTP用Ascii模式传送Binary改变了档案哪些 …
时间Sun Jan 4 21:43:22 2004
※ 引述《AOK (前进雅典 中华加油:))》之铭言:
: 我试着拿doc和exe传过
: 结果拿开ultra editor和noetpad 都没找到和原始档案哪里不一样
: 可是doc 和 exe都变成不能开和执行了
: 究竟是改变了档案的哪些地方呢??
ASCII跟IMAGE都只是表明档案的传输方式
image模式下,档案会以原来server端上存放的bit stream型态传输
这有个问题是当server/client的ascii representation不一样的时候
例如在unix上的断行会存成LF, 在windows上却是CR+LF
用image传输的unix文字档在notepad上看就会是长长一条,断行处变成黑黑方块
因为image type并不会帮你作其中的转换
ascii模式则会把server上的文字档案先转成telnet用的NVT-ASCII型态
等client接收之後再按照自己该有的格式转回来,这样就能规避上面的问题
但相反的,在传输一个其中包含0A这个byte的binay file将造成错误
ascii会"帮"你转成0D0A
而你的问题,当用ascii下载了binary档案时,他们在ue与notepad看都一样
因为断行(0A)还是断行(0D0A),但是原来的表现型态已经改变,无法开启
你该用用些hexeditor来看其中的改变,ue就有这种功能
--
╔╗╔╗╔═╔╗╭╭═╮╭╭═╮╔╮╭╗╭╭═╮㊣
║║║║╚╗║╝║║╮║║║╮║║╰╯║║║╮║
║║║║ ║║ ║║╚╝║╚║║║║║║║║║║
║║╯║ ║║ ║║╔╗║╔╝║║║║║║║║║
╰╰╮╯╔║╚╗║╰║║║║║║║║║║║╰║║o00o
╰╯ ╚╝═╝╰═╯╯╚╝╚╝╚╚╝╝╰═╯╯ ○......
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.251.88