Hi, -----Original Message----- From: Robert Klemme [mailto:shortcutter / googlemail.com] Sent: Tuesday, August 21, 2007 9:05 AM To: ruby-talk ML Subject: Re: Test if file is binary ? 2007/8/21, Rebhan, Gilbert <Gilbert.Rebhan / huk-coburg.de>: > > Hi , > > how to test if a file is binary or not ? > > There ain't something like File.binary = > NoMethodError: undefined method `binary?' for File:Class > > Any ideas or libraries available ? /* If I'd really need it I'd probably do a heuristic based on distribution of byte values across an initial portion of the file. Something like this: class File def self.binary?(name) ascii = control = binary = 0 File.open(name, "rb") {|io| io.read(1024)}.each_byte do |bt| case bt when 0...32 control += 1 when 32...128 ascii += 1 else binary += 1 end end control.to_f / ascii > 0.1 || binary.to_f / ascii > 0.05 end end */ Nice :-) Thanks !! Regards, Gilbert