From: Adam Akhtar Date: 2009-04-15T22:19:39+09:00 Subject: reformatting a text file that has some binary in it I have never worked with binary before and after trying to solve this problem for 3 hours im turning to the community for help i have a text file which has entries comprised of a key written in binary and its values written in strings (you can see an exerpt below). I need to parse the binary and transform it into human readable hex and parse its associated info. My reg exps dont seem to be behaving and im wondering if its me or if its this binary text that is causing mischief somehow. Heres a sample item 20: 琮祺ア・・キ・G聊まd8:completei7e10:downloadedi2046e10:incompletei1ee binary parts are always enclosed between "20:" and "d8:complete" where the 8 can be any integer(s) e.g. 5 or 23. str = File.open('textfile.txt' , 'r').readlines.join str.gsub!(/(20:)(.*?)(d\d+:)/m) do |x| $1 + $2.unpack('H*').join + $3 end The above works for some but not all of the text. It seeems to go beyond the "d8:complete" marker Heres a bigger sample set if needs be. Any tips or pointers would be greatly appreciated. d8:completei2e10:downloadedi770e10:incompletei1ee20: 琮祺ア・・キ・G聊まd8:completei7e10:downloadedi2046e10:incompletei1ee20: 6皀ネ・ 涇jュ・w・d8:completei0e10:downloadedi72602e10:incompletei1ee20: }tェスh>・モ送榎ラd8:completei3e10:downloadedi7718e10:incompletei2ee20: 架C ヒウJ<ィFラ0ノ犒Wd8:completei2e10:downloadedi617e10:incompletei0ee20: incノ・U]~鼡鐐僘< d8:completei3e10:downloadedi533e10:incompletei0ee20: ゥ(・l州=塘€・鶚租8:completei5e10:downloadedi8917e10:incompletei1ee20:・サJホ磨g讐F2頓@kd8:completei7e10:downloadedi1644e10:incompletei22ee20:、"&cB:TRレ}ta禰シ0+彭8:completei3e10:downloadedi418e10:incompletei0ee20:ケ・村€ヌ$NォcッP眷{スd8:completei8e10:downloadedi10297e10:incompletei10ee20:ナ斈>T・ゥ テンノ>ム播8:completei0e10:downloadedi323e10:incompletei1ee20:ニ誨vス.s鍬■ェe1+|<シGd8:completei0e10:downloadedi1412e10:incompletei1ee20:ムャ煮肄n、c ・ォ_蠻d8:completei2e10:downloadedi477e10:incompletei3ee20:禳""サRオ紆・・@d8:completei0e10:downloadedi175e10:incompletei4ee20:・u倒擁Zミ8w擡>{ヲ嚇8:completei1e10:downloadedi5929e10:incompletei0ee20:隕ッi7MY・v€Yd8:completei1e10:downloadedi212e10:incompletei1ee20:ルキf苺・QfC渋+ロョd8:completei1e10:downloadedi159e10:incompletei2ee20:・ィ7ゥ・胙゙トホァ竫 can anyone help -- Posted via http://www.ruby-forum.com/.