Marco Moock <
mo...@posteo.de>:
>On Wed, 3 Aug 2022 07:29:55 +0000 (UTC)
>Ulli Horlacher <
fram...@rus.uni-stuttgart.de> wrote:
>
>> Du verwendest das falsche Kommando.
>>
>> framstag@moep:~: printf 'x\000x' | fhexdump
>> 00000000:78 00 78
>> 0:x · x
>fhexdump ist nicht in den Paketquellen, damit kann ich nicht
>prüfen.
«od» tut es auch. «od» gehört zum POSIX‐Standard
(<
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/od.html#top>),
sollte also in jeder vernünftigen Unix‐Implementierung vorhanden
sein.
«od» kann Text‐ und Binärdaten als Oktalzahlen, als
vorzeichenbehaftete und ‐lose Dezimalzahlen und Sedezimalzahlen
darstellen, dazu in einer Form, die der Form, in der Zeichen in
C‐Programmen dargestellt werden, sehr nahe kommt. Die
Zahlendarstellungen ganzer Zahlen können in Breiten von 1, 2, 4 oder
8 Bytes oder auch in den vom im System installierten «C»‐Compiler
verwendeten Datentypen «char», «short», «int» und «long» ausgegeben
werden. Die Reihenfolge der Bytes (Endianess) ist die des Systems.
Auch Gleitkommazahlen in der Genauigkeit «float», «double» und «long
double» sind möglich.
Beispiel: Die Shell‐Kommandozeile
printf '%b' '\0000test\0000123456' |
od -v -A d -t cx1o1u1
liefert die Ausgabe
0000000 \0 t e s t \0 1 2 3 4 5 6
00 74 65 73 74 00 31 32 33 34 35 36
000 164 145 163 164 000 061 062 063 064 065 066
0 116 101 115 116 0 49 50 51 52 53 54
0000012