So, favouring the command xxd -b filename
over hexdump -C filename
to get the actual 1s and 0s of a binary file, i get this output from a file:
00009f6: 00000000 00000000 00001100 00000000 00000000 00000000 ......
00009fc: 01100000 00000000 00000000 00000000 00011000 00000000 `.....
0000a02: 00000000 00000000 00000010 00000000 00000000 00000000 ......
0000a08: 00000000 00000000 00000001 00000000 00000000 00000000 ......
0000a0e: 00000001 00000000 00101111 01010011 01111001 01110011 ../Sys
0000a14: 01110100 01100101 01101101 00101111 01001100 01101001 tem/Li
0000a1a: 01100010 01110010 01100001 01110010 01111001 00101111 brary/
0000a20: 01000110 01110010 01100001 01101101 01100101 01110111 Framew
0000a26: 01101111 01110010 01101011 01110011 00101111 01000011 orks/C
0000a2c: 01101111 01110010 01100101 01010111 01001100 01000001 oreWLA
0000a32: 01001110 00101110 01100110 01110010 01100001 01101101 N.fram
0000a38: 01100101 01110111 01101111 01110010 01101011 00101111 ework/
0000a3e: 01010110 01100101 01110010 01110011 01101001 01101111 Versio
Now the binary itself is not a problem, it looks to be hexadecimal which is fairly simple to decode, however, can anyone identify what these non binary columns signify? I assume that the columns 2 to 7 are the actual binary of the file, which leaves columns 1 and 8 which are definitely not binary, but have no stated purpose either as in no column headings.
So can anyone tell me what the columns on the other side of the binary are for and what they are telling me?
Thanks in advance.
Best Answer
The first column reflects the address/position of the data within the file (on the first line of your output it should start with
0000000
unless you have usedxxd -s
), the last column contains the textual representation of the file content (for bytes which have a printable ASCII value).