Thomas Lachmann: Hex-Zeichen %1A (zu große Files öffnen)

Hallihallo zusammen,

Ich hab' rausgefunden, warum es nicht funktioniert hat, daß ich ein 3Mb großes File lesen konnte und Perl auch keine Fehlermeldung gebracht hat.

Das Hexadezimale Zeichen " 1A " bedeutet soviel wie " SUB ". d.h. ich denke daß es eine Subroutine aufruft, oder so. Auf alle Fälle läuft mein Scriptchen wie schon früher gepostet wunderbar durch ;-)

Jetzt hab' ich nur eine Frage....
ich hab' dieses " 1A " Zeichen mit einem HEX-Editor gekillt. Könnte ich in Perl auch so etwas machen???

wie gesagt, das Problem ist, daß er sowie er das Zeichen liest das script einfach abbricht..

Für Info's wäre ich sehr dankbar.

Gibt es vielleicht eine Charmap, wwo uauch die funktionen der ersten 32 Zeichen erklärt sind?
mit sowas wie " SOH " oder " ACK " kann ich leider ;-( nix anfangen, aber vielleicht sind diese Zeichen ja ganz nützlich....

Thomas

  1. Hi hi!

    Ich hab' rausgefunden, warum es nicht funktioniert hat, daß ich ein 3Mb großes File lesen konnte und Perl auch keine Fehlermeldung gebracht hat.

    Du beziehst Dich auf <../../sfarchiv/1999_3/t04789.htm> und <../../sfarchiv/1999_3/t04819.htm>, oder?

    Das Hexadezimale Zeichen " 1A " bedeutet soviel wie " SUB ". d.h. ich denke daß es eine Subroutine aufruft, oder so. Auf alle Fälle läuft mein Scriptchen wie schon früher gepostet wunderbar durch ;-)

    Das SUB steht fuer Substitute, nicht fuer Subroutine oder sowas. Hab ich gerade in so einem Buch nachgeschaut, nach dem Du weiter unten verlangst. Es ist das Zeichen 1Ah = 26d und wird als Datei-Ende-Zeichen interpretiert. So gibt z.B. der DOS-Befehl TYPE eine Textdatei nur bis zu diesem Zeichen aus, falls eines auftaucht. Man erzeugt es in der Microsoftwelt uebrigens durch Ctrl+Z. Dadurch signalisiert man z.B. einem Programm das Ende der Eingabe, wenn es direkt von der Konsole liest. (Gib mal perl ohne Parameter ein, dann siehst Du das. Schreib ein kleines Programm, drueck Ctrl+Z, und das Programm wird ausgefuehrt.)

    ich hab' dieses " 1A " Zeichen mit einem HEX-Editor gekillt. Könnte ich in Perl auch so etwas machen???

    Probier doch mal, ob es mit
        binmode STDIN;    # oder wie Dein Filehandle heisst
    geht.

    Gibt es vielleicht eine Charmap, wwo uauch die funktionen der ersten 32 Zeichen erklärt sind?
    mit sowas wie " SOH " oder " ACK " kann ich leider ;-( nix anfangen, aber vielleicht sind diese Zeichen ja ganz nützlich....

    Sowas gibt es eigentlich in jedem vernuenftigen Buch, das sich mit irgendetwas computermaessigen beschaeftigt, im Anhang. Gerade eben habe ich im "PC Hardwarebuch" nachgesehen, aber ich hab's auch schon in anderen, less-hardcore-Buechern gesehen. In der Hilfe von QBasic (ASCII Chart), welches ja selbst mit WinNT4 noch ausgeliefert wird, sind die Abkuerzungen immerhin auch den Dezimalcodes zugeordnet.

    Calocybe