Como crear un hexágono dun ficheiro ou cadea de texto

Introdución

Un volcado hexadecimal é unha vista hexadecimal de datos. Pode desear usar hexadecimal ao depurar un programa ou para encamiñar un programa.

Por exemplo, moitos formatos de ficheiro teñen caracteres hexaculares específicos para denotar o seu tipo. Se estás a ler un ficheiro usando un programa e por algún motivo non está a cargar correctamente, pode ser que o ficheiro non estea no formato que estás esperando.

Se queres ver como funciona un programa e non tes o código fonte ou o software que inverte o código, podes ollar ao volcado hexadecimal para probar o que está a suceder.

¿Que é hexadecimal?

Os computadores pensan en binario . Cada carácter, número e símbolo son referenciados por un binario ou varios valores binarios.

Os seres humanos, porén, tenden a pensar en decimal.

Miles Centos Decenas Unidades
1 0 1 1

Como humanos, os nosos números máis baixos chámanse unidades e representan os números do 0 ao 9. Cando chegamos a 10, restablecemos a columna das unidades de volta a 0 e engade 1 á columna de decenas (10).

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

En binario, o número máis baixo só representa 0 e 1. Cando pasamos 1 puxemos un 1 na columna 2 e un 0 na columna 1. Cando quere representar 4 pór unha columna 1 na 4 e restablecer a columna 2 e 1.

Polo tanto, para representar 15 tes 1111 o que representa 1 oito, 1 catro, 1 dous e 1. (8 + 4 + 2 + 1 = 15).

Se vimos un ficheiro de datos en formato binario sería absolutamente enorme e prácticamente imposible dar sentido.

O seguinte paso do binario é octal, que usa o número 8 como base.

24 16 8 1
0 1 1 0

Nun sistema octal a primeira columna vai de 0 a 7, a segunda columna é de 8 a 15, a terceira columna 16 a 23 ea cuarta columna 24 a 31 e así por diante. Aínda que xeralmente son máis fáciles de ler que binarios, a maioría da xente prefire usar hexadecimal.

Os valores hexadecimales usan 16 como número de base. Agora, aquí é onde se pon confusión porque, como seres humanos, pensamos en números de 0 a 9.

Entón, o que se usa para 10, 11, 12, 13, 14, 15? A resposta é letras.

O valor 100 é, polo tanto, representado por 64. Necesitarás 6 da columna 16s que achega 96 e logo 4 na columna das unidades facendo 100.

Todos os caracteres dun ficheiro serán denostados por un valor hexadecimal. O que significan estes valores depende do formato do ficheiro. O formato do ficheiro denota valores hexadecimales que normalmente se almacenan ao comezo do ficheiro.

Co coñecemento da secuencia de valores hexadecimales que aparecen ao comezo dos ficheiros, pode calcular manualmente o formato no que está o ficheiro. Ver un ficheiro nun volcado hexadecimal pode axudarche a atopar caracteres ocultos que non se mostran cando o ficheiro é cargado nun editor de texto normal.

Como crear un depósito de hexágono usando Linux

Para crear un depósito hexagonal con Linux, use o comando hexdump.

Para mostrar un ficheiro como hexadecimal ao terminal (saída estándar) executa o seguinte comando:

nome de ficheiro hexdump

Por exemplo

hexdump image.png

A saída predeterminada mostrará o número de liña (en formato hexadecimal) e logo 8 conxuntos de 4 valores hexadecimales por liña.

Por exemplo:

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

Pode fornecer diferentes switches para cambiar a saída predeterminada. Por exemplo, especificar o interruptor menos b producirá un desprazamento de 8 díxitos seguido de 16 columnas, cero enchido, bytes de datos de entrada en formato octal.

hexdump-b image.png

Polo tanto, o exemplo anterior agora estará representado do seguinte xeito:

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

O formato anterior é coñecido como display octal de un byte.

Outra forma de ver o ficheiro está en visualización de caracteres de un byte usando o modificador de menos c.

hexdump -c image.png

Este novo mostra o desprazamento, pero esta vez seguido por dezaseis espazos separados, tres columnas, caracteres de espazo de datos de entrada por liña.

Outras opcións inclúen a Canonical hex + ascii display que se pode mostrar usando o minúsculo C e unha pantalla decimal de dous bytes que se pode mostrar usando o interruptor diminuto d. O minus o switch pode usarse para mostrar a pantalla octal de dous bytes. Finalmente o minux x switch pódese usar para mostrar a pantalla hexadecimal de dous bytes.

hexdump -C image.png

hexdump -d image.png

hexdump -o image.png

hexdump -x image.png

Se ningún dos formatos mencionados anteriormente atender ás súas necesidades, use o minus e switch para especificar o formato.

Se sabe que un ficheiro de datos é moi longo e só quere ver os primeiros caracteres para determinar o seu tipo, pode usar o botón -n para especificar o tamaño do ficheiro para mostrar en hexadecimal.

hexdump -n100 image.png

O comando anterior mostra os primeiros cen bytes.

Se desexa omitir unha porción do ficheiro pode usar o interruptor de minus s para establecer unha compensación para comezar.

hexdump -s10 image.png

Se non fornece un nome de ficheiro, o texto é lido dende a entrada estándar.

Simplemente introduza o seguinte comando:

hexdump

A continuación, introduza o texto na entrada estándar e remate escribindo saír. O hexágono mostrarase na saída estándar.

Resumo

A utilidade do hexdump é obviamente unha ferramenta bastante poderosa e definitivamente debe ler a páxina de manual para que chegue a todas as funcións.

Tamén necesitará unha boa comprensión do que está a procurar ao ler a saída.

Para ver a páxina de manual, execute o seguinte comando:

home hexdump