Tệp nhị phân có các chuỗi và một số số, Nếu tôi làm
od -c filename
hoặc strings filename
, tôi có thể thấy các chuỗi đúng. Nhưng, những con số thì sao? Họ đang ở một số định dạng kỳ lạ.
Các văn bản sau khi làm od -c filename
là như thế này:
0000000 036 \ 0 032 004 SD \ 0 \ 0 \ 0 \ 0 seq 1 0000020 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ t \ 0 ó 002 3 001 0000040 & \ 0 032 \ f O 2 006 \ 0 \ 0 \ 0 osfus 1 0000060 ó 002 3 001 = \ r \ 0 \ 0 \ t \ 0 \ 0 @ 3 × 0000100 233 º 004 \ 0 é 003 \ 0 \ 0 & \ 0 032 \ f O 2 7 \ 0 0000120 \ 0 \ 0 osfeu 1 ó 002 3 001 é 235 0000140 \ 0 \ 0 035 003 \ 0 @ 3 × 233 º 004 \ 0 \ a \ 0 \ 0 0000160 ä \ 0 032 \ f O r E \ 0 \ 0 \ 0 osfap 1
Làm thế nào để giải mã điều này?
Tôi thậm chí đã thử hexdump -C filename
Đầu ra là như thế này:
00000000 1e 00 1a 04 53 44 00 00 00 00 73 65 71 31 20 20 | .... SD .... seq1 | 00000010 20 20 00 00 00 00 00 00 00 09 00 f3 02 33 01 | .......... ó.3. | 00000020 26 00 1a 0c 4f 32 06 00 00 00 6f 73 66 75 73 31 | & ... O2 .... osfus1 | 00000030 20 20 f3 02 33 01 ff 0d 00 00 09 00 00 40 33 d7 | ó.3.ÿ ...... @ 3 × | 00000040 9b ba 04 00 e9 03 00 00 26 00 1a 0c 4f 32 37 00 | .º..é ... & ... O27. | 00000050 00 00 6f 73 66 65 75 31 20 20 f3 02 33 01 e9 9d | ..osfeu1 ó.3.é. | 00000060 00 00 1d 03 00 40 33 d7 9b ba 04 00 d1 07 00 00 | ..... @ 3 × .º..Ñ ... | 00000070 e4 00 1a 0c 4f 72 45 00 00 00 6f 73 66 61 70 31 | ä ... OrE ... osfap1 |
Để làm rõ, tệp chính là một tệp thông thường có một thuộc tính đang hiển thị là một định dạng kỳ lạ, vì vậy chúng tôi đang xem xét tệp thô / nhị phân.
Thực hiện đổ bát phân trên tệp thông thường, giải quyết vấn đề xem.
Với grep 'id=123' regular_file | head -1 | od -c
, tôi đã có thể thấy những con số trong đó. Tôi đã mong đợi 1, nó cho chúng tôi thấy là 001.
not text
trong chế độ xem ASCII đó, điều đó không có nghĩa đó là ASCII cho chương trình đọc tệp. ví dụ. Số 7957706749327538292 khi được mã hóa dưới dạng số nguyên không dấu 64 bit nhỏ. trông như thế này trong khung nhìn ASCII : not text
.