Speichern einer Dezimalzahl in einer Textdatei mit nur 1 Byte

520
Saurav Kumar Sahu

Ich möchte die Nummer 97 in einer Textdatei speichern. Im Hexadezimalformat ist es 0x61 und sollte 8 Bit oder 1 Byte Speicherplatz beanspruchen. Wenn ich jedoch 97 in eine Textdatei eingebe, werden 2 Byte Speicherplatz benötigt (da jede Ziffer als einzelnes Zeichen gespeichert wird). Ich frage mich also, gibt es eine Möglichkeit, die Nummer in einer Textdatei mit nur 1 Byte Speicherplatz zu speichern?

0

2 Antworten auf die Frage

3
barlop

Sie können, die Zahl 97d in Hex ist 61h

xxd kann genau die Bytes speichern und lesen, die Sie möchten.

So

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

Eine andere Möglichkeit ist, eine Datei in Notepad zu öffnen und "a" einzugeben und als "ascii" zu speichern (das ist die Standardeinstellung). Notepad speichert 0x61 in der Datei. Notepad liest es als 'a', aber Sie haben den ganzzahligen Wert von 97d, auch bekannt als 61h, in der Datei.

Sie können sogar ein ausführbares Programm in Notepad schreiben! Sie benötigen etwas Montagewissen und stellen sicher, dass Sie die Buchstaben eingeben, deren Kodierungen binär sind.

Vielleicht möchten Sie ein Programm, das ein Byte aus der Datei aa liest und seinen ganzzahligen Wert anzeigt. Ein Befehl wäre ideal. Man könnte einen schreiben.

0
jdwolf

Ja. In Unicode wird Kleinbuchstabe a als 97 dargestellt. Inhärent stellt eine Textdatei Zeichen dar. Das Speichern von Zahlen auf diese Weise kann kontraproduktiv sein.

Das ist interessant, beantwortet aber nicht vollständig die Frage, wie es geht. Elliott B vor 6 Jahren 0