File to Base64 String Code Generator v1.20 Build 2015-01-20

  • Da ich relativ oft Binär Strings verwende, um Bilder, Sounds, etc. direkt vom Speicher zu lesen, habe ich kleines Tool dazu geschrieben, das eine Datei in einen Base64 String umwandelt und gleich als Funktion bereit stellt.


    Optional kann man den Base64 String vorher mit der Build-In Funktion (ntdll.dll) oder mit LZMAT komprimieren, um Platz zu sparen!


    Danke an
    trancexx für die LZNTCompress / LZNTDecompress und _Base64Decode() Funktionen
    Ward für die _Base64Encode() / LZMAT und MsgBoxEx() Funktionen
    wraithdu für die Beseitung und Erweiterung des Codes


    Tipp: für größere Dateien würde ich die Kompression auf Standard setzen, damit die Kompression schneller geht -> rechte Maustaste auf das Label Compression -> Compression Strength -> Standard


    Die Bedienung sollte selbsterklärend sein.


    Download: File to Base64 String Code Generator v1.20 Build 2015-01-20 (AutoIt Version 3.3.13.19 oder höher benötigt!)


    Source Code auf Pastebin.com


    Für Anwendungsbeispiele siehe Post#6.


    Über Kritik würde ich mich wie immer freuen. :D


    Gruß,
    UEZ



    Historie:

  • ich würde mich über ein beispiel freuen, denn ich verstehe noch nicht so ganz wie man das anwendet....


    wie liest du denn sachen direkt vom speicher ? - heisst es, dass du z.B. ein mp3 direkt von dort abspielst ??


    wenn dem nicht so ist, und ich es doch vorher auf die festplatte auslagern muss um es dann mit den autoit-eigenen funktionen abspielen/verwenden zu können, dann erkläre mir bitte den unterschied/sinn zu fileinstall.


    danke & lg

  • WhiteLion : genau, man kann jede Datei als Binär String im Speicher ablegen und ihn dann direkt vom Speicher auslesen z.B. Grafiken, MP3s, etc..


    Beispiel für Grafiken:


    Das Autoit Logo und der Merlin (Datei liegen unter ..\AutoIt3\Examples\GUI\) wurden mit dem Tool als Binär String erstellt und direkt dann aus dem Speicher in die GUI geladen.


    In diesem Beispiel wurden die Dateien mit Kompression gespeichert, welches keinen Sinn macht, da durch die Kompression die Daten Größer geworden sind. Daher ist dies nur ein Beispiel.


    Abspielen einer Wave Datei


    Abspielen einer MP3 Datei unter Verwendung von Bass.au3 / Bass.dll


    Man könnte auch die Bass.dll direkt vom Speicher aufrufen, so dass Bass.dll und MP3 bereits im Speicher liegen, aber das würde den Rahmen sprengen. Irgendwo hatte ich die Version der Bass.au3, die die DLL vom Speicher liest...
    Vielleicht gibt es noch eine andere Variante, um MP3s vom Speicher abzuspielen... ?(


    Font in GDI+ anzeigen


    Toolbar


    Play GIF Anim from memory: -> hier


    Play Chip Sound from memory -> hier


    Gruß,
    UEZ

  • AutoFlip : nette Idee mit der Base64 Codierung!


    Hier der Code dazu:


    Nur sehe ich kein Benefit zu der anderen Version, obwohl der Base64 String kürzer sein sollte (vergleicht man die Größe des Outputs beider Versionen)!


    Vielleicht habe ich auch was übersehen...


    Siehe Post #1


    Gruß,
    UEZ

  • Musste noch ein paar Bugs fixen und habe DEP Check noch hinzugefügt, da ansonsten es zum Hard Crash bei der Base64 Konvertierung kommt!


    Gruß,
    UEZ

  • einen Base64-Ressource Erzeuger habe ich vor ein paar Tagen erst geschrieben....
    Seltsam, dass vorher noch keiner auf die Idee kam und bisher alles als HexString eingebaut wurde...


    lg
    M