【发布时间】:2012-03-17 12:42:58
【问题描述】:
我是 Ruby 新手,我正在编写一个脚本来从服务器下载 FTP 数据。
我不确定我是否完全理解 getbinaryfile 和 gettextfile。我知道网络上的字节处理存在差异,但我不能对二进制文件和文本文件都使用 getbinaryfile 吗?如果这不是推荐的做法,我应该使用什么来检查文件是二进制文件还是文本文件?
【问题讨论】:
我是 Ruby 新手,我正在编写一个脚本来从服务器下载 FTP 数据。
我不确定我是否完全理解 getbinaryfile 和 gettextfile。我知道网络上的字节处理存在差异,但我不能对二进制文件和文本文件都使用 getbinaryfile 吗?如果这不是推荐的做法,我应该使用什么来检查文件是二进制文件还是文本文件?
【问题讨论】:
getbinaryfile 或 gettextfile map directly 到具有二进制/图像模式和 ascii/文本模式的FTP protocol。
安全的选择是始终默认为二进制模式。如果您确定该文件是文本文件,则可以使用gettextfile,即针对文本文件(例如 *.php、*.txt 等)的白名单进行筛选。
如果您将gettextfile 用于二进制文件,您可能会得到一个损坏的文件,因为应该使用getbinaryfile。
【讨论】: