Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]11924[/thread]

Hex zu Float

Leser: 1


<< >> 3 Einträge, 1 Seite
Gast Gast
 2008-05-27 23:34
#110382 #110382
Hallo,
ich habe vor die Playerliste eines counterstrike servers zu filtern...
mein problem es sollte auch irgentwo die zeit stehen wie lange dieser spieler verbunden ist

genaueres ist hier beschrieben:
http://developer.valvesoftware.com/wiki/Server_Que...


0000 ff ff ff ff 44 04 01 5b 20 5a 2d 42 2d 46 20 5d ....D..[ Z-B-F ]
0010 20 7e 20 4e 3a 6f 3a 52 3a 69 3a 53 20 7e 00 00 ~ N:o:R:i:S ~..
0020 00 00 00 7c d6 ab 42 02 5b 20 5a 2d 42 2d 46 20 ...|..B.[ Z-B-F
0030 5d 20 7e 20 47 61 6e 4a 61 2d 52 61 42 42 69 74 ] ~ GanJa-RaBBit
0040 20 7e 00 00 00 00 00 fb e2 a4 42 03 28 20 2e 20 ~........B.( .
0050 59 20 2e 20 29 00 02 00 00 00 b8 82 92 42 04 54 Y . )........B.T
0060 61 64 65 75 73 20 28 47 65 72 29 00 00 00 00 00 adeus (Ger).....
0070 8c 9e 6b 42 ..kB


aber wie bekomme ich die daten in einen brauchbaren format?

es sollte in diesen bsp. eine zeit von etwa einer minute ausgegeben werden
moritz
 2008-05-28 01:37
#110384 #110384
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Du braucht vermutlich unpack.
Taulmarill
 2008-05-28 17:47
#110407 #110407
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
also wenn ich folgendes Programm auf meinem AMD Opteron absetzte:
Code: (dl )
1
2
3
4
5
6
my $hex = "5b 20 5a 2d 42 2d 46 20 5d 20 7e 20 4e 3a 6f 3a 52 3a 69"
. "3a 53 20 7e 00 00 00 00 00 7c d6 ab 42";
$hex =~ tr/ //d;

print join ", ", unpack "Z*Lf", pack "H*", $hex;
print "\n";

bekomme ich da folgendes raus:
[ Z-B-F ] ~ N:o:R:i:S ~, 0, 85.9189147949219

Das ist auch wahrscheinlich das was du haben willst. Bedenke nur, dass die meisten Optionen von pack() nicht unbedingt portabel sind. Vor allem das Float sieht auf anderen Maschinen gerne anders aus. Auf meiner SPARC gibt er mir da z.b. eine 8.91700039061923e+36 zurück.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
<< >> 3 Einträge, 1 Seite



View all threads created 2008-05-27 23:34.