Leser: 2
|< 1 2 >| | 15 Einträge, 2 Seiten |
1
2
3
4
5
sub to_dec {
my $zahl = shift;
$zahl = unpack("N",pack("B32",substr("0"x32 . $zahl,-32)));
return $zahl;
}
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/usr/bin/perl
# bin2hex - wandle Binaerdatei in Hexadezimaldarstellung um.
# hex2bin - wandle Hexadezimaldarstellung in Binaerdatei um.
#
# Aufruf: bin2hex binaerdatei hexdatei
# oder hex2bin hexdatei binaerdatei
#
#
use strict;
use warnings;
die "Aufruf: $0 infile outfile" unless @ARGV == 2;
my ($infile, $outfile) = @ARGV;
die "Eingabe und Ausgabe muessen verschieden sein" unless $infile ne $outfile;
open (my $in, $infile) or die "kann $infile nicht oeffnen: $!";
open (my $out, '>', $outfile) or die "kann $outfile nicht oeffnen: $!";
if ($0 =~ /bin2hex$/) {
bin2hex($in, $out);
} elsif ($0 =~ /hex2bin$/) {
hex2bin($in, $out);
} else {
die "Das Programm muss bin2hex oder hex2bin heissen!";
}
close $in;
close $out;
##########
sub bin2hex {
my ($from, $to) = @_;
binmode $in;
$/ = \8; # immer 8 Bytes einlesen
while (<$from>) {
print $to unpack("H*", $_), "\n";
}
}
sub hex2bin {
my ($from, $to) = @_;
binmode $out;
while (<$from>) {
chomp; # Zeilenenden abschneiden
print $to pack ("H*", $_);
}
}
|< 1 2 >| | 15 Einträge, 2 Seiten |