Wann würdest du auspacken ('h *'…) oder packen ('h *'…)?
In Perl,pack
undunpack
habe zwei Vorlagen zum Konvertieren von Bytes in / aus Hex:
h
Eine Hex-Zeichenfolge (niedrige Nybble zuerst).H
Eine Hex-Zeichenfolge (hohe Nybble zuerst).
Dies wird am besten anhand eines Beispiels verdeutlicht:
use 5.010; # so I can use say
my $buf = "\x12\x34\x56\x78";
say unpack('H*', $buf); # prints 12345678
say unpack('h*', $buf); # prints 21436587
Wie du sehen kannst,H
ist das, was Menschen im Allgemeinen meinen, wenn sie daran denken, Bytes in / aus Hexadezimalzahlen umzuwandeln. Also, was ist der Zweck vonh
? Larry muss gedacht haben, dass jemand es benutzen könnte, oder er hätte sich nicht die Mühe gemacht, es aufzunehmen.
Können Sie ein Beispiel aus der Praxis geben, in dem Sie tatsächlich @ verwenden möchteh
Anstatt vonH
mitpack
oderunpack
? Ich suche ein konkretes Beispiel; Wenn Sie eine Maschine kennen, die ihre Bytes so organisiert hat, welche war das und können Sie auf eine Dokumentation dazu verweisen?
Ich kann mir Beispiele vorstellen, bei denen Sieverwende h
, z. B. das Serialisieren einiger Daten, wenn Sie sich nicht wirklich für das Format interessieren, solange Sie es zurücklesen können, aberH
wäre dafür genauso nützlich. Ich suche ein Beispiel woh
istMeh nützlich alsH
.