[nr-pm] Umwandlung in Bin?rdaten

Michael Lamertz mike at lamertz.net
Mon Okt 14 09:09:33 CDT 2002


On Mon, Oct 14, 2002 at 03:42:52PM +0200, Arne Kloecker wrote:
> Hallo,
> 
> ich muss einen Haufen verschiedener Daten in einen Bytestrom packen. Solange 
> dabei mit Daten in solchen Breiten gearbeitet wird, f?r die pack sch?ne 
> defaults hat habe ich damit auch kein Problem.
> 
> Jetzt muss ich aber die 4 Bytes einer IP in den Bytestrom schreiben (Und zwar 
> als exakt 1 Byte pro Byte). Wenn ich die einfach als Variablen ?bergebe (so 
> wie ich es bei Strings mache) frisst Perl mir die als Strings.

Falsches Template...

> Wie also kriege ich die Bytes da rein ?

    ---------- bla.pl ----------
    #!/usr/bin/perl
    
    use strict;
    use warnings;
    
    $|++;
    my $ip = "127.0.0.1";
    my @bytes = split /\./, $ip;
    my $bin = pack("C4", @bytes);
    print $bin;
    ---------- bla.pl ----------

und:

    ---------- snip ----------
    nijushiho:~$ perl bla.pl >bin.dat
    nijushiho:~$ hexdump -C bin.dat 
    00000000  7f 00 00 01                                       |....|
    00000004
    nijushiho:~$ 
    ---------- snip ----------

Sieht doch korrekt aus.  Alternativ kannst Du ja noch ein 'reverse'
'drauf los lassen.

-- 
	    Well, then let's give that Java-Wussie a beating... (me)

Michael Lamertz                        |     +49 2234 204947 / +49 171 6900 310
Sandstr. 122                           |                       mike at lamertz.net
50226 Frechen                          |                 http://www.lamertz.net
Germany                                |               http://www.perl-ronin.de 
___________________________
Abmelden:
Mail an majordomo at hfb.pm.org mit dem Text:
unsubscribe niederrhein-pm