hexadezimalen werte statt ascii-text
guest312
- perl
hi,
ich möchte eine datei so öffnen und einlesen, dass ich nicht den ascii-text habe, sondern die hexadezimalen werte. also zum beispiel '7A' statt 'z'
Habe bis jetzt nirgends was gefunden und weiß auch net so ganz, wie ich suchen soll.
Kann mir jemand helfen?
mfg, martin
Hello,
#>hexdump dateiname
Und das Ergebnis kannst Du ja umleiten.
Grüße
Tom
Hi,
Woher bekomme ich denn hexdump? Entweder als perl-modul oder für windows.
mfg, martin
Hello,
Woher bekomme ich denn hexdump? Entweder als perl-modul oder für windows.
Sorry, hatte nicht gesehen, dass das für Windows sein sollte. Bei Linux gehört es zur Ausstattung.
Aber das kannst Du Dir ja selber schreiben in Perl
Datei einlesen und dann Zeichen für Zeichen umwandeln bzw. für die parallele ASCII-Anzeige ein Array mit dem Zeichensatz bereithalten, denn nicht alle Zeichen haben was im Bildschirm-Zeichenstrom zu suchen.
Grüße
Tom
hi,
nimm die read() funktion und lese die datei zeichenweise.
und dann, siehe
perldoc -f sprintf
printf("%x", 12); # c
perdoc -f hex
my $e = sprintf("%x", 12);
print hex $e, "\n"; # 12
Erwin
hi,
danke dir
aber so weit war ich auch schonmal. mein problem ist aber, dass er nur dezimal in hexadezimal umrechnet so.
sobald ich aber einen buchstaben einsetze, statt ner zahl enthält $e immer 0
hi,
sobald ich aber einen buchstaben einsetze, statt ner zahl enthält $e immer 0
Na vielleicht solltest du ersteinmal den assii Order bestimmen ;-)
my $ord = ord 'z';
my $e = sprintf("%x", $ord);
print $e, "\n";
Erwin
hey,
das ist gut! :)
ich danke dir vielmals
mfg, martin