RuD: Direktes Ausgeben von String

Seid gegrüßt!
weiß jemand, wie ich nen String in ByteCode oder HEX-Code ausgeben kann?
Ich meine, dass ich genau in dem String sehen kann, was drin steht, egal welche Codierung. Ich hoffe, es ist nachvollziehbar, was ich meine.

--
Bis Später
RuD
________________________________________________________________
SelfCode: ie:% fl:( br:^ va:) ls:< fo:| rl:( n4:& ss:) de:> js:| ch:| mo:| zu:)
  1. Hallo,

    weiß jemand, wie ich nen String in ByteCode oder HEX-Code ausgeben kann?

    bei einem sorgfältigen Blick in das Kapitel String-Funktionen der PHP-Anleitung wärest Du von ganz alleine über eine Funktion namens ord() gestolpert.

    Gruß, Hannes.

    1. Seid gegrüßt!

      Hallo,

      weiß jemand, wie ich nen String in ByteCode oder HEX-Code ausgeben kann?

      bei einem sorgfältigen Blick in das Kapitel String-Funktionen der PHP-Anleitung wärest Du von ganz alleine über eine Funktion namens ord() gestolpert.

      Über eben jene bin ich gestpolpert, habe aber die Vorahnung, dass z.B. UFT8-2-Byte-Zeichen als zwei Zeichen interpretiert werden und mir die Dezimalwerte beider Zeichen einzeln ausgegeben werden. Hat jemand diez bezüglich Erfahrungen?

      Am liebsten wäre mir die &#x268F; oder &#9871; -Variante. Ist das evtl. möglich?

      --
      Bis Später
      RuD
      ________________________________________________________________
      SelfCode: ie:% fl:( br:^ va:) ls:< fo:| rl:( n4:& ss:) de:> js:| ch:| mo:| zu:)
      1. echo $begrüßung;

        Über eben jene bin ich gestpolpert, habe aber die Vorahnung, dass z.B. UFT8-2-Byte-Zeichen als zwei Zeichen interpretiert werden und mir die Dezimalwerte beider Zeichen einzeln ausgegeben werden. Hat jemand diez bezüglich Erfahrungen?

        Ja, PHP geht immer noch von 1 Zeichen = 1 Byte aus.

        Am liebsten wäre mir die &#x268F; oder &#9871; -Variante. Ist das evtl. möglich?

        Erst ab PHP6.

        echo "$verabschiedung $name";

        1. Seid gegrüßt!

          echo $begrüßung;

          Über eben jene bin ich gestpolpert, habe aber die Vorahnung, dass z.B. UFT8-2-Byte-Zeichen als zwei Zeichen interpretiert werden und mir die Dezimalwerte beider Zeichen einzeln ausgegeben werden. Hat jemand diez bezüglich Erfahrungen?

          Ja, PHP geht immer noch von 1 Zeichen = 1 Byte aus.

          Am liebsten wäre mir die &#x268F; oder &#9871; -Variante. Ist das evtl. möglich?

          Erst ab PHP6.

          Danke das hat mir erstmal weitergeholfen.

          --
          Bis Später
          RuD
          ________________________________________________________________
          SelfCode: ie:% fl:( br:^ va:) ls:< fo:| rl:( n4:& ss:) de:> js:| ch:| mo:| zu:)
      2. Hallo,

        eine Funktion namens ord()
        Über eben jene bin ich gestpolpert, habe aber die Vorahnung, dass z.B. UFT8-2-Byte-Zeichen als zwei Zeichen interpretiert werden und mir die Dezimalwerte beider Zeichen einzeln ausgegeben werden.

        selbstverständlich - genau das wolltest du doch auch:
          "dass ich genau in dem String sehen kann, was drin steht, egal welche Codierung"
        Diesen Halbsatz in deinem ersten Posting verstehe ich genau so, nämlich dass du den String Byte für Byte durchgehen willst, ohne Rücksicht auf irgendeine Codierung.

        Am liebsten wäre mir die &#x268F; oder &#9871; -Variante. Ist das evtl. möglich?

        Das heißt, dass du eben doch eine Codierung anwenden bzw. voraussetzen willst, nämlich UTF-8. Ist aber relativ einfach: Sobald das MSB eines Bytes gesetzt ist, stellt es selbst kein vollständiges Zeichen dar, sondern ist Teil einer aus mehreren Bytes bestehenden Gruppe (siehe Beschreibung der Codierung). Auf diese Weise bekommst du für jedes Zeichen im String eine Gruppe von 1..4 Byte, aus denen du mit ein wenig Bitmaskierung und Bitschieberei den Unicode-Wert ermitteln kannst.

        So long,
         Martin

        --
        Butterkeksverteiler zu werden ist vermutlich eine der wenigen beruflichen Perspektiven, die sich noch bieten, wenn man einen an der Waffel hat.
          (wahsaga)
  2. Hi,

    weiß jemand, wie ich nen String in ByteCode oder HEX-Code ausgeben kann?

    Du suchst bin2hex().

    Alternativ kannst Du auch manuell den String Byte für Byte durchgehen und per ord() den Bytewert an der entsprechenden Stelle auswerten. Das ist zwar aufwändiger, dafür kannst Du halt so schöne Dinge wie "Pretty Printing" mit einbauen etc.

    Viele Grüße,
    Christian

    1. echo $begrüßung;

      Alternativ kannst Du auch manuell den String Byte für Byte durchgehen und per ord() den Bytewert an der entsprechenden Stelle auswerten. Das ist zwar aufwändiger, dafür kannst Du halt so schöne Dinge wie "Pretty Printing" mit einbauen etc.

      Ein einigermaßen ausreichendes "Pretty Formatting" kann man sich schon mit der Funktion chunk_split() holen: echo chunk_split(bin2hex($delinquent), 2, ' '));

      echo "$verabschiedung $name";