Sut I Greu Hexdump O Ffeil Neu Llinyn Testun

Cyflwyniad

Mae dympiad hecs yn farn hecsadegol o ddata. Efallai yr hoffech ddefnyddio hecsadegol wrth ddadgofrestru rhaglen neu i wrthdroi rhaglen peiriannydd.

Er enghraifft, mae gan lawer o fformatau ffeiliau gymeriadau hecs penodol i ddynodi eu math. Os ydych chi'n ceisio darllen ffeil gan ddefnyddio rhaglen ac am ryw reswm nid yw'n llwytho'n gywir, efallai na fydd y ffeil yn y fformat yr ydych yn ei ddisgwyl.

Os ydych chi eisiau gweld sut mae rhaglen yn gweithio ac nad oes gennych y cod ffynhonnell na darn o feddalwedd sy'n gwrthdaro'r cod, mae modd ichi edrych ar y dymuniad hecs i geisio datgelu beth sy'n digwydd.

Beth yw Hexadecimal?

Mae cyfrifiaduron yn meddwl mewn deuaidd . Cyfeirir at bob cymeriad, rhif a symbol gan werthoedd deuaidd neu lluosog lluosog.

Mae bodau dynol, fodd bynnag, yn tueddu i feddwl mewn degol degol.

Miloedd Cannoedd Degau Unedau
1 0 1 1

Fel pobl, gelwir ein niferoedd isaf yn unedau ac yn cynrychioli'r rhifau 0 i 9. Pan fyddwn ni'n cyrraedd 10 rydym yn ailosod colofn yr unedau yn ôl i 0 ac yn ychwanegu 1 at y degau colofn (10).

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

Mewn deuaidd, dim ond 0 a 1. y mae'r nifer isaf yn cynrychioli 1. Pan fyddwn ni'n cyrraedd gorffennol 1, rydym yn rhoi 1 yn y golofn 2 a 0 yn yr 1 golofn. Pan fyddwch chi am gynrychioli 4 rhowch 1 yn y 4 golofn ac ailosodwch golofn 2 a 1.

Felly, i gynrychioli 15 byddai gennych 1111 sy'n sefyll am 1 wyth, 1 pedair, 1 dau ac 1 un. (8 + 4 + 2 + 1 = 15).

Pe baem yn gweld ffeil ddata mewn fformat deuaidd, byddai'n hollol enfawr a bron yn amhosib gwneud synnwyr ohoni.

Y cam nesaf i fyny o'r ddeuaidd yw octal, sy'n defnyddio 8 fel y nifer sylfaen.

24 16 8 1
0 1 1 0

Mewn system octal mae'r golofn gyntaf yn mynd o 0 i 7, mae'r ail golofn yn 8 i 15, y trydydd colofn 16 i 23 a'r pedwerydd colofn 24 i 31 ac yn y blaen. Er ei bod yn haws i'w darllen yn gyffredinol na bod y rhan fwyaf o bobl yn well ganddynt ddefnyddio hecsadegol.

Defnydd hecsadegol yw 16 fel y rhif sylfaen. Nawr dyma lle mae'n mynd yn ddryslyd oherwydd, fel pobl, rydym yn meddwl am rifau fel 0 i 9.

Felly beth sy'n cael ei ddefnyddio ar gyfer 10, 11, 12, 13, 14, 15? Yr ateb yw llythyrau.

Felly, bydd y gwerth 100 yn cael ei gynrychioli gan 64. Bydd angen 6 o'r golofn 16 oed arnoch sy'n dod â 96 i fyny ac yna 4 yn y golofn unedau sy'n gwneud 100.

Bydd pob un o'r cymeriadau mewn ffeil yn cael ei ddynodi gan werth hecsadegol. Mae'r hyn y mae gwerthoedd hyn yn ei olygu yn dibynnu ar fformat y ffeil ei hun. Mae fformat y ffeil wedi'i ddynodi gan werthoedd hecsadegol sy'n cael eu storio fel arfer ar ddechrau'r ffeil.

Gyda gwybodaeth am y dilyniant o werthoedd hecsadegol sy'n ymddangos ar ddechrau ffeiliau, gallwch weithio allan pa fformat y mae'r ffeil ynddo. Wrth edrych ar ffeil mewn dympiad hecs, gall eich helpu i ddod o hyd i gymeriadau cudd nad ydynt yn cael eu dangos pan fydd y ffeil yn wedi'i lwytho i mewn i olygydd testun arferol.

Sut i Creu Gwahariad Hecs Gan ddefnyddio Linux

I greu dympiad hecs gan ddefnyddio Linux, defnyddiwch y gorchymyn hexdump.

I arddangos ffeil fel hecs i'r derfynell (allbwn safonol) rhedeg y gorchymyn canlynol:

enw ffeil hexdump

Er enghraifft

hexdump image.png

Bydd yr allbwn diofyn yn dangos y rhif llinell (mewn fformat hecsadegol) ac yna 8 set o 4 gwerthoedd hecsadegol fesul llinell.

Er enghraifft:

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

Gallwch gyflenwi gwahanol switshis i newid yr allbwn diofyn. Er enghraifft, bydd nodi'r switsh bws yn cynhyrchu gwrthbwyso 8 digid, ac yna bydd 16 o dair colofn, sero wedi'u llenwi, bytes o ddata mewnbwn mewn fformat octal.

hexdump -b image.png

Felly, bydd yr enghraifft uchod yn cael ei chynrychioli fel a ganlyn:

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

Gelwir yr fformat uchod yn arddangosfa octal un-byte.

Mae ffordd arall o weld y ffeil mewn arddangosfa cymeriad un-byte gan ddefnyddio'r switsh c minws.

hexdump -c image.png

Mae hyn eto yn dangos y gwrthbwyso ond yr adeg hon yn dilyn 16 o leoedd gwahanu, tri cholofn, cymeriadau llawn o le mewnbwn o bob llinell.

Mae opsiynau eraill yn cynnwys arddangosiad Canonical hex + ascii y gellir eu harddangos gan ddefnyddio'r switsh C minws a dangosiad degol dau-byte y gellir eu harddangos gan ddefnyddio'r switsh mini. Gellir defnyddio'r minws o switsh i arddangos arddangosfa octal dau byte. Yn olaf, gellir defnyddio'r switsh minux x i arddangos arddangosiad hecsadegol dwy-byte.

hexdump -C image.png

hexdump -d image.png

hexdump -o image.png

hexdump -x image.png

Os nad yw'r un o'r fformatau uchod yn gweddu i'ch anghenion i chi ddefnyddio'r switsh e-bost i nodi'r fformat.

Os ydych chi'n gwybod bod ffeil ddata yn hir iawn a'ch bod am weld yr ychydig gymeriadau cyntaf i benderfynu ar ei fath, gallwch ddefnyddio'r switsh i nodi faint o'r ffeil i'w ddangos yn hecs.

hexdump -n100 image.png

Mae'r gorchymyn uchod yn dangos y cant cyntaf bytes.

Os ydych chi'n dymuno sgipio rhan o'r ffeil, gallwch ddefnyddio'r newid minws i osod gwrthbwyso i ddechrau ohono.

hexdump -s10 image.png

Os nad ydych chi'n cyflenwi enw ffeil, darllenir y testun o'r mewnbwn safonol.

Rhowch y gorchymyn canlynol yn syml:

hexdump

Yna rhowch y testun i'r mewnbwn safonol a'i orffen trwy deipio'r gorau. Bydd yr hecs yn cael ei arddangos i'r allbwn safonol.

Crynodeb

Mae'r cyfleustodau hexdump yn amlwg yn offeryn eithaf pwerus a dylech chi bendant ddarllen y dudalen lawfwrdd i fynd i'r afael â phob un o'r nodweddion yn llawn.

Byddai hefyd angen dealltwriaeth dda o'r hyn yr ydych yn chwilio amdano wrth ddarllen yr allbwn.

I weld tudalen y llawlyfr, rhowch y gorchymyn canlynol:

dyn hexdump