Armazenando um número decimal em um arquivo de texto com apenas 1 byte

0

Eu quero armazenar o número 97 em um arquivo de texto. Em hexadecimal é 0x61 e deve levar 8 bits ou 1 byte de armazenamento. Mas quando eu digito 97 em um arquivo de texto, são necessários 2 bytes de armazenamento (já que ele armazena cada dígito como um caractere individual). Então, eu estou querendo saber se há alguma maneira de armazenar o número em um arquivo de texto com apenas 1 byte de armazenamento?

    
por Saurav Kumar Sahu 17.06.2018 / 04:54

2 respostas

3

Você pode, o número 97d em hexadecimal é 61h

O xxd pode armazenar e ler exatamente os bytes que você deseja.

Então

C:\carp>echo 61|xxd -r -p >a.a

C:\carp>xxd -p a.a
61

C:\carp>

Outra maneira é abrir um arquivo no bloco de notas e digitar 'a' e salvá-lo como ascii (por padrão). O bloco de notas armazenará 0x61 no arquivo. O bloco de notas irá lê-lo como 'a', mas você tem o valor inteiro de 97d aka 61h no arquivo.

Você pode até escrever um programa executável no bloco de notas! Você precisaria de algum conhecimento de montagem e certificaria-se de digitar as letras cujas codificações em binário são as que você quer!

Talvez você queira um programa que leia um byte do arquivo a.a e exiba seu valor inteiro. Um comando seria o ideal .. um poderia escrever um ..

    
por 17.06.2018 / 09:26
0

Sim. Em Unicode, minúscula a é representada como 97. Inerentemente, um arquivo texto representa os caracteres, portanto, armazenar números dessa maneira pode ser contraproducente.

    
por 17.06.2018 / 07:14