agapanthus: String in Hex-Zahl wandeln

Moin. Oder Mahlzeit.

Irgendwie ist mir wohl das Essen aufs Hirn geschlagen, ich komm jedenfalls nicht weiter.

Problem: ich habe eine Datei, die pro Zeile 2 Zeichen enthält:

31
4d
u.s.w

Die erste Zeile enthält also die Zeichen 0x33 0x31, die zweite 0x34 0x64. Jetzt muß ich jede Zeile in den entsprechenden HEX-Wert wandeln. Also:

"31" --> 0x31
"4d" --> 0x4d

Und da verlässts mich. Kann mir mal bitte jemand auf die Sprünge helfen? Danke!

Gruß Frank

  1. Sup!

    Wie jetzt?
    Du schreibst einfach zeichen = "0x".zeichen;

    Fertig?

    Gruesse,

    Bio

    --
    Keep your friends close, but your enemies closer!
    1. Hi Bio

      Du schreibst einfach zeichen = "0x".zeichen;

      nö. ich brauche nicht einen String "0x31" sondern eine Zahl, in diesem Fall 49d=31h. Ist etwas verwirrend.

      Und so gehts:
      $tmp = "31";
      print pack("c", hex($tmp));

      Gruß Frank

      1. Sup!

        nö. ich brauche nicht einen String "0x31" sondern eine Zahl, in diesem Fall 49d=31h. Ist etwas verwirrend.

        Und so gehts:
        $tmp = "31";
        print pack("c", hex($tmp));

        Oder so: $tmp = "31"; $tmp = oct("0x".$tmp); print $tmp;
        Wer wird denn da gleich zu "pack" greifen...

        Gruesse,

        Bio

        --
        Keep your friends close, but your enemies closer!