2014-11-13 3 views
1

표준 txt 파일을 바이너리로 변환하는 모범 사례를 찾고 난 후에도이를 잘 이해하지 못하고 누군가가 더 잘 설명 할 수 있는지 궁금해하고 있습니다. 그래서 my_file.txt이 있고 my_file.bin으로 변환하고 싶다고합시다. 한 번에 전체 파일을 변환하는 가장 좋은 방법은 무엇입니까? 전체 파일을 새로운 .bin 파일에 쓸 수 있습니까? 아니면 파일을 반복하고 줄 단위로 변환해야합니까?txt 파일을 루비의 이진 파일로 변환하는 방법

나는

old_text = File.open('my_file.txt').read 
bin_file = File.new("my_file.bin","w+") # I understand w+ may not be the correct option 
bin_file.puts(old_text) 
bin_file.close 

하지만 bin_file 아무것도 읽을하려고 할 때 반환되는 등의 일을 시도했습니다. 이것을 완료하는 것이 더 나은 방법입니까?

+1

무엇 "바이너리 파일"을 의미합니까? – matt

답변

2

그레이트 뉴스! 루비의 문자열 maniupulation는 여기에 덮여있어했습니다

"some text".unpack('b*') 

당신은 바이너리로 전체 파일을 변환 당신은 단지 같은 것을 할 수 http://ruby-doc.org/core-2.1.4/String.html#M000760

를 통해 더 많은 것을에 읽을 수 있습니다

old_text = File.open('my_file.txt').read 
bin_file = File.new("my_file.bin","w+") # I understand w+ may not be the correct option 
bin_file.puts(old_text.unpack('b*')) 
bin_file.close 
+0

오 완벽한! 아주 멋지다. 라인별로 읽으려고한다면이 방법이 효과가 있습니까? 각 줄에 대해 호출하면 파일에 바로 쓰게됩니까? – Luminusss

+1

물론 가능합니다. 파일을 한 줄씩 반복하여 (바이너리를 배열처럼 저장하는 등) 코드를 수정 한 다음 루프의 바이너리를 새 파일로 덤프하면됩니다. –

관련 문제