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.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage