Hoe meitsje in hexdump fan in triem of stipe fan tekst

Ynlieding

In hexadepomp is in hexadezimale werjefte fan gegevens. Jo kinne hexadezimal brûke as jo in programma útfiere of in ynsteller weromsette.

Bygelyks, in protte triemformaten hawwe spesifike hexenpersmerken om har type oan te jaan. As jo ​​probearje om in bestân mei in programma te lêzen en fan guon reden is it net korrekt lade, kin it wêze dat de triem net is yn it formaat dat jo ferwachtsje.

As jo ​​sjen wolle hoe't in programma wurket en jo net de boarne koade of stik fan software hawwe dy't de koade ynstruearje, kinne jo sjen op 'e hex-dump om te probearjen en út te fieren wat der is.

Wat is Hexadezimal?

Kompjûters tinke yn binêre . Alle karakter, nûmer, en symboal wurdt ferwiisd troch in binêre of meardere binêre wearden.

Minsken binne lykwols neffens tinken te tinken yn desimaal.

Tûzenen Hûnderten Tens Units
1 0 1 1

As minsken binne ús leechste nûmers hjitte ienheden en fertsjintwurdigje de nûmers 0 oant 9. As wy 10 krije, feroarje wy de ienheden kolom werom nei 0 en add 1 oant de tsen kolom (10).

128 64 32 16 8 4 2 1
1 0 0 1 0 0 0 1

Yn binêre fertsjintwurdigje it leechste nûmer allinnich 0 en 1. As wy 1 ferstean, sette wy 1 in 1 yn 'e kolom 2 en in 0 yn' e 1 kolom. As jo ​​fertsjintwurdigje wolle 4 jo in 1 yn 'e 4 kolom sette en de kolom 2's en 1's weromsette.

Dêrom om 15 te fertsjinjen, moatte jo 1111 hawwe dat foar 1 acht, 1 fjouwer, 1 twa en ien is. (8 + 4 + 2 + 1 = 15).

As wy in gegevensbestân yn binêr formaat besjen, soe it hielendal ryk wêze en sawat ûnmooglik wêze om sin te meitsjen.

De folgjende stap fan 'e binêre is oktal, dy't 8 as it base nûmer brûkt.

24 16 8 1
0 1 1 0

Yn in octalsysteem giet de earste kolom fan 0 oant 7, de twadde kolom is 8 oant 15, de tredde kolom 16 oant 23 en de fjirde spalte 24 oant 31 en sa fierder. Wylst it normaal makliker te lêzen is as binêr de measte minsken foarkomme hexadezimal brûke.

Hexadezimal brûkt 16 as basisnumber. No is dit wêr't it mislediget, om't as minsken tinke oan nûmers as 0 oant 9.

Dus wat is foar 10, 11, 12, 13, 14, 15 brûkt? It antwurd is brieven.

De wearde 100 is dus fertsjintwurdige troch 64. Jo sille 6 fan 'e kolom 16 brûke dy't 96 opnimme en dan 4 yn' e ienheid kolom makket 100.

Alle karakters yn in bestân wurde oanwiisd mei in hexadezimal wearde. Wat dizze wearden betsjutte hingje ôf fan it formaat fan 'e triem sels. It formaat fan 'e triem wurdt bepaald troch hexadezimale wearden dy't normaal bewarre wurde oan it begjin fan de triem.

Mei kennis fan 'e sesje fan hexadeimimale wearden dy' t by it begjin fan triemmen ferskine, kinne jo handichje útfiere hokker formaat de triem yn is. Sjoch in triem yn in hex-dump kin jo helpe ferstjoere tekens sjen dy't net sjen as de triem is yn in normale tekstredakteur laden.

Hoe meitsje in Hex Dump Mei Linux

Om in hex-dump mei Linux te meitsjen brûk it hexdump kommando.

Om in triem as hex oan ' e terminal te eksportearjen (standertútfier) ​​laat de folgjende kommando:

hexdump filename

Bygelyks

hexdump image.png

De standertútfier sil it linnennûmer sjen (yn hexadezimale formaat) en dan 8 sets fan 4 hexadezimale wearden per line.

Bygelyks:

00000000 5089 474d 0a0d 0a1a 0000 0d00 4849 5244

Jo kinne ferskate skeakels leverje om de standertútfier te feroarjen. Bygelyks it bepalen fan minus b-skeakel produkt in 8-stelike offset, folge troch 16 trije kolom, nul fol, bytes fan ynput data yn oktalformaat.

hexdump -b image.png

Dêrom sil it hjirboppe foarbyld as no fertsjintwurdige wurde:

00000000 211 120 116 107 015 012 032 012 000 000 000 015 111 110 104 122

It boppesteande formaat is bekend as one-byte octal display.

In oare manier om de triem te besjen is yn ien-byte-karakter werjaan mei help fan de minus c-wiksel.

hexdump -c image.png

Dit werneamt de offset mar wer dizze kear folgje sechstjin romte skieden, trije kolom, romtefolle tekens fan ynputgegevens per line.

Oare opsjes lykas kanonike hex + ascii-werjefte dy't kin wurde brûkt troch de minus C-wiksel en twa-byte-desimale werjefte dy't kin wurde brûkt troch de minus d-skeakel. De minus o skeakel kin brûkt wurde om twa-byte octal display te sjen. Uteinlik kin de minuutes x-skeakel brûkt wurde om twa-byte hexadezimale werjefte te sjen.

hexdump -C image.png

hexdump -d image.png

hexdump -o image.png

hexdump -x image.png

As der gjin ien fan 'e boppesteande formaten is foar jo behoeften, brûk jo de minus e om it formaat te oanjaan.

As jo ​​in datafile bestiet, is in protte langer en jo wolle gewoan de earste pear tekens sjen om jo type te bepalen. Jo kinne it -n wikselje brûke om te bepalen hoefolle fan de triem yn hex sjen te litten.

hexdump -n100 image.png

It boppesteande kommando lit de earste hûndert bytes sjen.

As jo ​​in diel fan 'e bestân skipje wolle, kinne jo de minus s-winkel brûke om in offset te begjinnen om te begjinnen.

hexdump -s10 image.png

As jo ​​gjin triemnamme leverje, wurdt de tekst lêzen fan de standertynfier.

Jo kinne it folgjende kommando ynfiere:

hexdump

Fier dan de tekst yn de standertynfier yn en folslein troch te typen. De hex wurdt werjûn oan 'e standertútfier.

Gearfetting

It hexdump utiliteit is fansels in ridlik krêftich ark en jo moatte de hânide side perfoarst lêze om folslein te krijen mei alle funksjes.

Jo soene ek in goed begryp hawwe wat jo sochten by it útlieden fan 'e útfier.

Om de hânide side te besjen de folgjende kommando útfiere:

man hexdump