Du hast also einen 4-Byte großen Wert, und Du willst die Reihenfolge der Bytes umkehren?
Da sind
perlfunc pack und
perlfunc unpack immer noch die Tools der Wahl. Siehe auch
perlpacktut.
Und da es Verwendung findet, auch noch:
perlfunc reverse
Vorschlag:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use strict;
use warnings;
my $buf = 0x12345678;
my $buf2 = unpack( 'L', reverse pack L => $buf );
my $FORMAT = ( "%02x " x 4 ) . "\n";
printf $FORMAT, unpack( "W*", pack L => $buf );
printf $FORMAT, unpack( "W*", pack L => $buf2 );
__END__
Output:
78 56 34 12
12 34 56 78
Achtung: Vielleicht bringen andere Benutzer noch eine andere oder bessere Lösung. Ich nutze pack/unpack selbst recht selten.
Last edited: 2013-12-29 17:24:10 +0100 (CET)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!