Thread einzelne Bytes in Perl (19 answers)
Opened by campbell-bs at 2011-11-17 15:42

topeg
 2011-11-18 11:48
#154296 #154296
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Du brauchst nicht doppelt zu Transformieren. Perl bietet dir alles was du dafür brauchst mit "pack".

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
my $zahl1=23;
my $zahl2=42;
my $zahl3=0815;

# unsigned 8bit  Integer (Char  -> C)
# unsigned 16bit Integer (Short -> S)
# signed   32bit Integer (Long  -> l)
# unsigned 8bit  Integer (Char  -> C)

## Little Endian (X86 Order)
# on x86 Processors
#my $out=pack('CSlC',$zahl1,$zahl2,$zahl3,$zahl1);
# on PPC or other not x86 Processors force Little Endian
#my $out=pack('C<S<lC',$zahl1,$zahl2,$zahl3,$zahl1);

# Big Endian (Network Order)
my $out=pack('C>S>lC',$zahl1,$zahl2,$zahl3,$zahl1);

print SOCKET $out;


Edit:
"C" Braucht kein "Force Order" ("<",">");
Last edited: 2011-11-18 12:03:12 +0100 (CET)

View full thread einzelne Bytes in Perl