FTP二进制x ASCII自动选择

时间:2012-08-13 17:04:12

标签: ftp binary ascii

我编写了一个FTP插件(使用python的ftplib),我想知道如果它应该对给定文件使用二进制或ASCII传输方法,最好的方法是什么。换句话说就是“自动”传输模式。

我开始研究这个,因为我得到关于双线的问题报告,谷歌搜索结果表明二元模式应该负责[1] [2]。

它可能使用白名单或黑名单扩展,应该是二进制或ascii,但它可能不存在,当然还有一个问题,即使用哪种方法(wl x bl,b x a)。它听起来不够稳固(不完美的列表,缺乏扩展名)。

- >问题:对于给定的文件,选择二进制或ascii传输模式的可行方法是什么? (如果有的话......)
谢谢

[1] http://www.seo-creative.co.uk/tutorials/ftp-client-giving-you-double-line-breaks/
[2] http://www.chami.com/html-kit/support/docs/pages/h000114.html

1 个答案:

答案 0 :(得分:1)

首先,您需要检查标识UTF16或UTF8的BOM marks文件。如果它们存在,则文件是文本文件的概率为99.9%。

接下来,您可以扫描文件并检查它是否包含代码小于32且不是9,10和13(TAB,LF,CR)的字符。如果文件中没有此类字符,则该文件可能是文本。但是这里不能保证或者用户可以明确地请求以二进制模式传输文件。