From: Robert Klemme Date: 2009-11-19T18:20:04+09:00 Subject: Re: open a binary file-read bit-change bit-update same file 2009/11/19 Sniper Abandon : > my Aim is i want to encrypt a file > > i want to open a binary file > > i want to read the 1-st bit > if the bit is "1" then update that position bit to "0" instantly > if the bit is "0" then update that position bit to "1" instantly > > then i have to read 2-nd bit > do the same thing like above conversion > ....... > ....... > like i want to do this for all bit of that file > > --------------------- > > > i know we can read the file into a array then we can do the > modification,etc > but i want to update on that same file object, and the file size may be > more then 1 GB > > is it possible? Anything is possible. But doing it bitwise is extremely inefficient. You should rather do it in chunks of, say, 1025 or 512 bytes or - even better - use the cluster size of your file system. XOR will be useful irb(main):004:0> a = 11 => 11 irb(main):005:0> sprintf "%08b -> %08b", a, a ^ 0xFF => "00001011 -> 11110100" Kind regards robert -- remember.guy do |as, often| as.you_can - without end http://blog.rubybestpractices.com/