Kijan Pou Kreye yon ègzotip nan yon dosye oswa fisèl nan tèks

Entwodiksyon

Yon pil fatra hex se yon gade ekzadesimal nan done. Ou ka vle itilize ekzadesimal lè debogaj yon pwogram oswa ranvèse enjenyè yon pwogram.

Pou egzanp, fòma anpil dosye gen karaktè eksepsyon espesifik yo endike kalite yo. Si ou ap eseye li yon dosye lè l sèvi avèk yon pwogram epi pou kèk rezon li pa chaje kòrèkteman, li ta ka ke dosye a pa nan fòma w ap tann.

Si ou vle wè ki jan yon pwogram ap travay epi ou pa gen kòd la sous oswa moso nan lojisyèl ki ranvèse enjenyè kòd la, ou ka gade nan pil fatra a hexik eseye ak travay sou sa k ap pase.

Ki sa ki se èksedezi?

Odinatè panse nan binè . Chak karaktè, nimewo, ak senbòl se referans pa yon binè oswa miltip valè binè.

Men imen, sepandan, yo gen tandans panse nan desimal.

Dè milye Dè santèn Dè dizèn Inite
1 0 1 1

Kòm moun, nimewo ki pi ba nou an yo rele inite yo epi reprezante chif 0 a 9. Lè nou rive nan 10 nou réinitialiser kolòn inite a tounen nan 0 epi ajoute 1 nan kolòn nan dè dizèn (10).

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

Nan binè, nimewo ki pi ba a sèlman reprezante 0 ak 1. Lè nou jwenn sot pase 1 nou mete yon 1 nan kolòn 2 a ak yon 0 nan kolòn nan 1. Lè ou vle reprezante 4 ou mete yon 1 nan kolòn nan 4 ak Reyajiste 2 a ak kolòn 1 an.

Se poutèt sa, reprezante 15 ou ta gen 1111 ki vle di pou 1 uit, 1 kat, 1 de ak 1 yon sèl. (8 + 4 + 2 + 1 = 15).

Si nou wè yon dosye done nan fòma binè li ta absoliman gwo ak nòmalman enposib fè sans de.

Pwochen etap la soti nan binè se octal, ki itilize 8 kòm nimewo baz la.

24 16 8 1
0 1 1 0

Nan yon sistèm octal kolòn nan premye ale soti nan 0 a 7, kolòn nan dezyèm se 8 a 15, twazyèm kolòn 16 a 23 ak katriyèm kolòn 24 a 31 ak sou sa. Pandan ke jeneralman pi fasil li pase binè pi fò moun pito yo itilize ekzadesimal.

Hexadezimal sèvi ak 16 kòm nimewo baz la. Koulye a, sa a se kote li vin konfizyon paske kòm moun nou panse a nimewo kòm 0 a 9.

Se konsa, sa ki itilize pou 10, 11, 12, 13, 14, 15? Repons lan se lèt.

Se valè a 100 se poutèt sa reprezante pa 64. Ou pral bezwen 6 nan kolòn nan 16s ki pote moute 96 ak Lè sa a, 4 nan kolòn inite yo fè 100.

Tout karaktè yo nan yon dosye yo pral endike pa yon valè ekzadesimal. Ki valè sa yo vle di depann sou fòma a nan dosye a tèt li. Se fòma a nan dosye a te endike pa valè ekzadesimal ki yo anjeneral ki estoke nan konmansman an nan dosye a.

Avèk konesans nan sekans nan valè ekzadesimal ki parèt nan kòmansman an nan dosye, ou ka manyèlman travay deyò ki fòma dosye a se pous Wè yon dosye nan yon pil fatra hex ka ede ou jwenn karaktè kache ki pa yo montre lè dosye a se chaje nan yon editè tèks nòmal.

Kijan Pou Kreye yon ègzagon ègzèk Sèvi ak Linux

Pou kreye yon pil fatra ègzagonal lè l sèvi avèk Linux sèvi ak kòmandman an hexdump.

Yo montre yon dosye tankou hex tèminal la (pwodiksyon estanda) kouri lòd sa a:

hexdump fichier

Pa egzanp

hexdump image.png

Pwodiksyon an default pral montre nimewo a liy (nan fòma èksadeèl) ak Lè sa a, 8 kouche nan 4 valè èksedezi chak liy.

Pa egzanp:

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

Ou ka bay switch diferan chanje pwodiksyon an default. Pou egzanp ki espesifye b a mwens b pral pwodwi yon 8 chif konpanse ki te swiv pa 16 kolòn twa, zewo ranpli, bytes nan done opinyon nan fòma octal.

hexdump -b image.png

Se poutèt sa, egzanp ki anwo a pral kounye a ap reprezante jan sa a:

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

Fòma ki anwo la a se ke yo rekonèt kòm yon sèl-byte octal ekspozisyon.

Yon lòt fason yo wè dosye a se nan yon sèl-byte ekspozisyon karaktè lè l sèvi avèk switch la min c.

hexdump -c image.png

Sa a ankò montre konpanse a men tan sa a ki te swiv pa sèz espas separe, twa kolòn, espas plen karaktè nan done opinyon pou chak liy.

Opsyon Lòt yo enkli Canonical hex + ascii ekspozisyon ki ka parèt lè l sèvi avèk switch la C mwens ak de-byte desimal ekspozisyon ki ka parèt lè l sèvi avèk switch la d mwens. Mwens o switch la kapab itilize pou montre ekspozisyon octal de-byte. Finalman ka minu x switch la dwe itilize yo montre ekspozisyon de-byte ekzadesimal.

Hexdump -C image.png

hexdump -d image.png

hexdump -o image.png

hexdump -x image.png

Si okenn nan fòma yo pi wo a kostim bezwen ou yo sèvi ak mwens e chanje a presize fòma an.

Si ou konnen yon dosye done trè long e ou jis vle wè premye karaktè yo kèk detèmine kalite li yo ou ka itilize -n switch la presize ki jan anpil nan dosye a yo montre nan hex.

Hexdump -n100 imaj.png

Demann ki anwo a montre premye santèn bytes yo.

Si ou ta vle sote yon pòsyon nan dosye a ou ka itilize switch la minus yo mete yon konpanse kòmanse nan.

hexdump -s10 image.png

Si ou pa bay yon fichier tèks la li nan opinyon estanda a.

Senpleman antre nan lòd sa a:

Hexdump

Lè sa a, antre nan tèks la nan opinyon estanda a epi fini pa sezisman kite. Hex a ap parèt nan pwodiksyon estanda a.

Rezime

Sèvis piblik la hexdump se evidamman yon zouti jistis pwisan, epi ou ta dwe definitivman li paj la manyèl konplètman jwenn grips ak tout karakteristik yo.

Ou ta bezwen tou yon bon konpreyansyon de sa w ap chèche pou lè lekti pwodiksyon an.

Pou wè paj la manyèl kouri lòd sa a:

nonm hexdump