Leser: 18
1 2 3 4 5 6 7 8 9 10 11
#!/usr/bin/perl use warnings; use strict; use 5.010; my $iban = 'LLPPBBBBBBBBKKKKKKKKKK'; my @array = unpack( "(A4)*", $iban ); say "@array";
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
#!/usr/bin/perl use warnings; use strict; my $file = '/foo/bar'; open my $fh, '<', $file or die $!; local $/; my $content = <$fh>; close $fh or die $! my $ascii = pack 'u', $content;
Guest GastMit den Verweisen auf "pack" und "uuencode" hast du mir sehr geholfen.
Außerdem habe ich passende Beispiele in der doku gefunden. Ich weiß aber noch nicht, ob ich das mit pack/unpack richtig verstanden habe.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
#!/usr/bin/perl use strict; use 5.010; use warnings; binmode STDOUT, ':encoding(utf8)'; my $var = 223; my ( $pack, @unpack ); $pack = pack 'A*', $var; @unpack = unpack '(B8)*', $pack; # schreibe $var interpretiert als Zeichen: say "@unpack"; # 00110010 00110010 00110011 ( 2 2 3 ) $pack = pack 'I*', $var; @unpack = unpack '(B8)*', $pack; # schreibe $var interpretiert als Zahl: say "@unpack"; # 11011111 00000000 00000000 00000000 (dezimal 223) say "\n------------------------------------------------------\n"; # $pack im Speicher: 11011111 00000000 00000000 00000000 @unpack = unpack '(B8)*', $pack; # interpretiere den Wert im Speicher als eine Zahl, gib mir die Zahl in binärer Form say "@unpack"; # 11011111 00000000 00000000 00000000 @unpack = unpack 'I', $pack; # interpretiere den Wert im Speicher als eine Zahl (Integer), gib mir die Zahl in dezimaler Form say "@unpack"; # 223 @unpack = unpack 'A', $pack; # interpretiere das erste Byte im Speicher als Zeichen say "@unpack"; # ß
2009-11-27T17:03:02 biancaEdit: Sehe gerade noch das local $/. Meines Erachtens kann das entfallen, wenn man binmode() verwendet.
2009-11-27T19:13:36 pq2009-11-27T17:03:02 biancaEdit: Sehe gerade noch das local $/. Meines Erachtens kann das entfallen, wenn man binmode() verwendet.
kommt in einer binärdatei etwa niemals \n vor?
Guest gastHallo,
kann mir jemand eine einfache Aufgabe stellen, zu deren Lösung ich entweder "pack" oder "unpack" brauche? ( die Betonung liegt auf "einfache" )