Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Convert any file into a binary file and vice versa

I've searched in StackOverFlow website and over the internet for this question and its relevant questions but I still haven't got a clear answer. I want to know what software may I use to convert any file (regarding size) into a text file that contains zeros and ones (only) of this specific file, then convert this text file that contains these zeros and ones back to the original file. Execuse my ignorance if the files that contains zeros and ones are not called "binary files", I searched the internet and read in wikipedia there are software called [hex dump], I don't need those, I need what I mentioned above, thank you all.

like image 907
Bilal Sulaiman Avatar asked May 08 '16 18:05

Bilal Sulaiman


People also ask

Can any file be a binary file?

– in short, any type of file content whatsoever. Some binary files contain headers, blocks of metadata used by a computer program to interpret the data in the file. The header often contains a signature or magic number which can identify the format.

How do I convert a TXT file to binary in Linux?

use xxd -r . it reverts a hexdump to its binary representation. Edit: The -p parameter is also very useful. It accepts "plain" hexadecimal values, but ignores whitespace and line changes.

What is an example of a binary file?

Executable files, compiled programs, SAS and SPSS system files, spreadsheets, compressed files, and graphic (image) files are all examples of binary files.


Video Answer


2 Answers

The thing is that all the files are already binary, you just need an HEX viewer to see them for what they are (for instance in Total Commander you can use the "Compare Contents" functionality).

Something like a non-binary file does not exist in the computer world.

HEX means base 16 system, you can easily convert it to 2 based (1,0) by using simple windows calculator in Programmer mode:

In the picture below a text file has been compared with itself just to show it's content in HEX. As we can see the first digit is "66"; if we place it into a programmer calculator having HEX mode activated and then we switch to BIN, we will get "1100110", representing the "f" character. And so on for every HEX value.

enter image description here

P.S. 1 - Interesting thing is that there is no real emphasis on this matter in the Computer File definition on Wikipedia nor other sites. I think it is totally confusing for people who don't know this already. In my opinion those websites should all present the word "binary" right in the first line of "computer file" definition.

A computer file in its deepest level is binary data, not a piece of information splitted up in lines or something different from binary formats. The file format is only a protocol telling how to store bytes and it becomes proper information only when it is read or opened by someone or something who knows how that data has been written in this particular file, say the user, or a client software knowing how that data (bytes) has been written.

P.S. 2 - WTF? - Wikipedia has split files to binary and non-binary! Thank God I don't need to read this.


Software to create text representatives from binary input and vice versa: Windows, Online

like image 83
Movsar Bekaev Avatar answered Nov 27 '22 15:11

Movsar Bekaev


This method works with bash terminal

  • Convert your file to hexadecimal

    $ xxd originalFile > hexaFile
    
  • Convert back your hexadecimal file to original

    $ cat hexaFile |  xxd –r > backOriginalFile
    
like image 28
Diego4016 Avatar answered Nov 27 '22 15:11

Diego4016