Ankündigung

Einklappen
Keine Ankündigung bisher.

Dateiinhalt in hexadezimal ausgeben

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Dateiinhalt in hexadezimal ausgeben

    Hallo,

    mein Projekt heute, den Inhalt einer Datei in Hex ausgeben
    Hab schon einige Beispiele durchgemacht aber irgendetwas stimmt nicht.
    Der Inhalt der Datei ist in ner Variablen, dann müsste ja nur deren inhalt via "dechex" umgewandelt werden oder ? Irgendwie klappt das nicht.

    Also ich bin mal hier stehen gelieben.

    PHP-Code:
        $file file_get_contents('./file.txt');

            
    $hex dechex($file);

             echo 
    $hex
    Greets

  • #2
    Wenn der Inhalt eine Dezimalzahl zwischen 0 und 4294967295 ist dann klappt die Umwandlung. Wenn nicht, dann nicht.

    Kommentar


    • #3
      Danke, dann würde noch bin2hex übrig bleiben aber damit hatte ich auch kein glück:

      PHP-Code:
                  $handle = @fopen("./test.txt""r");
                  if (
      $handle) {
                  while (!
      feof($handle)) {
                     
      $hex bin2hex($handle);
                      }
                  
      fclose($handle);

                  }

                  
      print_r($hex); 

      Kommentar


      • #4
        Dir fehlt auch eine Funktion.

        PHP-Code:
        var_dump($handle
        Wie soll man so etwas auch von Binär nach Hexadezimal wandeln...

        Lösung:
        Code:
        http://php.net/manual/de/function.fread.php
        Damit kriegst du ein Char (pro Byte), dass du nun in Hexadezimal darstellen kannst.
        [URL="https://github.com/chrisandchris"]GitHub.com - ChrisAndChris[/URL] - [URL="https://github.com/chrisandchris/symfony-rowmapper"]RowMapper und QueryBuilder für MySQL-Datenbanken[/URL]

        Kommentar


        • #5
          Danke für den Tip hat geholfen !!! Konnte den Hex String ausgeben und bearbeiten, aber wenn ich ihn jetzt in dezimal zurück bringen will um ihn in ne Datei zu speichern bekomm ich "INF" als Ausgabe !

          PHP-Code:
          $handle = @fopen("./text.txt""r");
          var_dump($handle);
          if (
          $handle) {
              while (!
          feof($handle)) {
                  
          $hex bin2hex(fread ($handle 8192 ));

              
          $oldnum $head $sbtpsize;
              
              
          $newnum $head $num3;
              
                      
          $sbtpsize2 str_replace($oldnum$newnum$hex);

              echo 
          $sbtpsize2;

              }
              
              
          fclose($handle);

          }

                      
          $write hexdec($sbtpsize2);
                      
                              echo 
          "<br>";
                      
                      echo 
          $write

          Kommentar


          • #6
            Das hier gibt mir nur einen teil aus:

            PHP-Code:
            $handle = @fopen("./text.txt""r");
            var_dump($handle);
            if (
            $handle) {
                while (!
            feof($handle)) {
                    
            $hex bin2hex(fread ($handle 8192 ));

                
            $oldnum $head $sbtpsize;
                
                
            $newnum $head $num3;
                
                        
            $sbtpsize2 str_replace($oldnum$newnum$hex);

                echo 
            $sbtpsize2;

                }
                
                
            fclose($handle);

            }

              
            $write preg_replace("/([0-9A-Fa-f]{2})/e""chr(0x\\1)"$sbtpsize2);
                        
                                echo 
            "<br>";
                        
                        echo 
            $write

            Kommentar


            • #7
              Du hast irgendwie ein Talent, deine Fragen möglichst unverständlich zu formulieren.

              Hier weiß zum Beispiel niemand, was das hier ist:

              PHP-Code:
                  $oldnum $head $sbtpsize;
                  
                  
              $newnum $head $num3
              Warum rückst du deinen Code nicht einfach korrekt ein, sondern kreuz und quer?

              Und geht es dir jetzt um Zahlen oder willst du einfach beliebigen Dateiinhalt einlesen, nach Hex konvertieren und zurück konvertieren?

              Kommentar


              • #8
                Lol ja ich bin der Meister in Fragen stellen. Hab's bereits gefunden. Hab die Größe bei fread falsch eingestellt gehabt!!! Jetzt klappt's auch mit dem Nachbarn ! o.0

                Kommentar

                Lädt...
                X