From: "Dalthon [BR]" Date: 2009-11-19T20:25:30+09:00 Subject: Re: open a binary file-read bit-change bit-update same file You can synchronize io setting file.sync = true to update on the same file object On 19 nov, 07:20, Robert Klemme wrote: > 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 endhttp://blog.rubybestpractices.com/