Thread pack vs. unpack
(5 answers)
Opened by mordur at 2008-09-30 13:48
moins,
folgendes Problem: ich habe da einige Dateien mit sogenannten OID (object identifier) aus SNMP-MIBs. Das sind so Zahlenketten, z.b. 1.3.6.7.3.23.1.2 etc. Die wandelte ich in Binärform um, mit pack("C*",@zeichenketten). Dabei war jede Ziffer innerhalb jedes Elements von @zeichenketten ein INTEGER kleiner als 255. Daher konnte ich diesen Operator(?) C nehmen. Damals habe ich es vermasselt und nun kommt es. Eine neue MIB soll verarbeitet werden. Diese enthält jedoch INTEGER-Werte in ihren OID die größer als 255 sind. So müsste ich zum umwandeln den Operator "s" benutzen. Ich habe nun festgestellt das Daten, die mit "C" encodiert wurden, mit "s" decodiert Blödsinn ergegeben. Ich habe aber ein paar Dateien noch mit "C" decodiert und ein paar mit "s". Wenn ich die mir anzeigen lassen will, muss ich den Inahlt also decodieren, einmal mit "s", andernmal mit "C". Frage: gibt es da was, was automatisch erkennt, wie die Daten mal encodiert wurden, so dass man den Operator automatisch einstellen kann? Ich möchte nicht jede Datei manuell anfassen, um sie mit "s" umzuwandlen. |