Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
binaere daten in perl einlesen

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
hugenay
Gast





BeitragVerfasst am: 24. Jul 2002 21:14   Titel: binaere daten in perl einlesen

Hallo,
ich will 2 integer werte aus einer Datei ziehen.
Jeweils 4 byte pro wert. Beides sind 32bit signed int Werte. Der erste muss -5 ergeben, der 2te genau 5.
Zunaechst mache ich:
$tmp = read(FILE, $buffer,4);
Dann gehts schon los:
$tmp = unpack("i", $buffer);
funktioniert nicht, sondern nur:
$tmp = unpack("h8" $buffer);
Da unpack im h Format die "nibbles" von hinten nach vorne einliest, muss ich die zunaechst noch umdrehen also etwa:
$tmp =~ s/(.)(.)(.)usw./$2$1$4$3usw./;
Fuer den 2ten Wert funktionierts: es kommt 5 raus.
Bei dem ersten aber nur Mist. Ich denke es liegt daran, dass es sich um nen negativen Wert handelt. Wie kann ich den in Hex behandeln oder umformen...?
thx und gruss hug.
 

hugenay
Gast





BeitragVerfasst am: 25. Jul 2002 12:45   Titel: Re: binaere daten in perl einlesen

na, ein bischen weiss ich jetzt schon: für den problematisch wert kriege ich: fffffffb und wenn ich das von ffffffff subrahiere kommt -5 raus. Nur: wie kann ich rauskriegen, dass es sich um einen negativern wert handelt? Ich kriege ja nur ne hex Zahl...
 

hugenay
Gast





BeitragVerfasst am: 31. Jul 2002 15:24   Titel: Re: binaere daten in perl einlesen

hab die sache jetzt irgendwie gelöst
Binär fängt ein Wert (hier wenigstens) immer mit 1 an. Im Perl Kochbuch steht auch eine schöne Funktion um Binäre Daten in Dezimale umzuwandeln, die hat mir vieles erspart.
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - Allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy