Datei binär einlesen

  • ja und genau so

    [autoit]


    $Dateihwnd = FileOpen("DeieDatei.xxx",16)
    $binaryRead = FileRead($Dateihwnd)

    [/autoit]

    und in $binaryRead is dann der binärcode drinne aber nicht mit großen dateien machen das geht auf den ram :D
    gruß Michael

    //Edit:Bei "DeieDatei.xxx" bitte den Dateinamen von deiner Datei einstzen

  • Danke, ich hab's jetzt mal so probiert:

    Spoiler anzeigen
    [autoit]


    $Dateihwnd = FileOpen("Test.png",16)
    $binaryRead = FileRead($Dateihwnd)
    MsgBox(0, "Test", $binaryRead)

    [/autoit]


    Das Ergebnis sieht mir jetzt allerdings eher nach hexadezimal aus.

  • Binäre Daten werden zur Anzeige als String in Hexadezimalschreibweise umgewandelt, da dies kürzer ist und weniger Speicher verbraucht als die Darstellung mit Nullen und Einsen ;)

  • Hi,
    mittels

    [autoit]

    binarytostring()

    [/autoit]

    bekommt man den "hex" in stringform, dort kann man auch ohne weiteres mit den (ziemlich schnellen) gängigen AutoIt-Stringfunktionen arbeiten, diese lassen sich von im String enthaltenen Nullbytes nicht stören.
    Was NICHT geht ist die Bearbeitung mit RegExp, da evtl. im String enthaltene Nullbytes als endofstring behandelt werden. Das gilt übrigens auch für die Darstellung mit Msgbox oder Consolewrite

  • Danke, für die Antworten, wenn ich

    [autoit]

    binarytostring()

    [/autoit]

    benutze kommt bei mir auch nur das raus:
    ‰PNG

  • Zitat

    benutze kommt bei mir auch nur das raus:
    ‰PNG

    lesen hilft^^, ich zitiere mich mal selbst

    Zitat

    Was NICHT geht ist die Bearbeitung mit RegExp, da evtl. im String enthaltene Nullbytes als endofstring behandelt werden. Das gilt übrigens auch für die Darstellung mit Msgbox oder Consolewrite