Representaçao de Dados
Tipos Arquivos
Para sabermos qual o tipo de arquivo (independente da sua extensão), podemos utilizar o comando:
file <file>
A maioria dos arquivos digitais tem uma assinatura localizada nos 20 primeiros bytes do arquivo e é através desse cabeçalho que seu tipo será definido, e não pela sua extensão.
Decimal
É o sistema mais amplamente utilizado e é chamado de sistema de base 10 (decimal), pois usa 10 dígitos ou símbolos (0 ,1, 2, 3, 4, 5, 6, 7, 8, 9
).
A posição do número indica o valor que ele representa, e cada dígito é múltiplicado pela potência de 10 associada a sua posição. Segue abaixo o exemplo do número 5437:
5437 = 5000 + 400 + 30 + 7
# Ou mais precisamente
5437 = 5x10³ + 4x10² + 3x10¹ + 7x10º
Binário
Sistema numeral de base 2 é representado por 1
e 0
, contendo 8 caracteres. Este segue a mesma regra do número decimal, porém este faz a multiplicação pela potência 2. Cada 1 ou 0 é chamado de bit
(ou binário) e a soma de 8 bits se chama byte
. O bit de ordem mais alta se localiza à extrema esquerda e tem maior valor, sendo chamado de MSB (Most Significant Bit)
ou Bit Mais Significativo
. Já o bit de valor mais baixo esstá localizaro fica à extrema extrema direita, sendo chamada de LSB (Least Significat Bit)
ou Bit Menos Significante
.
DICA: Os número binários podem ser escritos com o prefixo b
, por exemplo: 0b11001
Hexadecimal
Também conhecido como Hex
, este possui a base 16, contendo letras e números: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
.
OBS.: As letras maiúsculas são usadas para representar os número de 10 a 15
O Hexademical é mais curto e fácil de ser compreendidos por humanos. Segue abaixo um exemplo de conversão:
# Lembrando que "A" equivale "10"
19A = (1x16²) + (9x16¹) + (10X16º) = 256 +144 + 10 = 410
Convertendo Valores
Hexadecimal para Decimal
# Bash
printf "%d\n" 0x40
printf "%d\n" 0xdd84
printf "%d.%d.%d.%d\n" 0xc0 0xa8 0x00 0xc8
# Python
python -c "print 0x88"
Hexadecimal para Ascii
printf "\x47\x45\x54\n"
echo -e "\x47\x45\x54\n"
Sites
# Diversos tipos de encode/decode
https://ascii.cl
# Lista de caracteres com URL encode
https://www.w3schools.com/tags/ref_urlencode.ASP
# Encode/Decode em tempo real
https://onlinestringtools.com/
https://gchq.github.io/CyberChef/
# Converte Hexadecimal em Arquivo (binário)
https://tomeko.net/online_tools/hex_to_file.php?lang=en
Last updated
Was this helpful?