![]() |
Re: PHP to Delphi: pack() / unpack();
Mh, auf der Dokumentations-Seite steht:
Zitat:
Hast du die empfangenen Daten mal ausgewertet? Welche davon sind denn realtistisch ( = wahrscheinlich richtig)? Liebe Grüße, Valle |
Re: PHP to Delphi: pack() / unpack();
C dürfte ein Byte sein, also wäre das Endianness dort wohl auch egal :angel:
|
Re: PHP to Delphi: pack() / unpack();
Naja. Das problem ist, das Protocol reagiert nicht auf falsche Daten. Sprich ich bekomme nichts zurück.
Habe gerade mal etwas gegoogelt und bin auf folgendes gestoßen:
Delphi-Quellcode:
function ChangeEndian16(X: WORD): WORD; register; //oder auch Swap
asm xchg AL, AH end; Nunja, es kommt dem Resultat schon recht nähe, jedoch schrumpft der Binary String nun um 2 Bytes, was auch wieder nicht stimmen kann, weil es 31 Byte sein "müssen". Wobei der Wert dann nicht mehr passt. Beispiel: ["wHash"] => WORD(65535) wird dann zu ["wHash"] => WORD(13642) "65535" ist aber korrekt. (0x4A 0x35) |
Re: PHP to Delphi: pack() / unpack();
Kan mir mal bitte jemand erklären, was man mit der Funktion macht oder wozu man sie braucht? Aus dem PHP Manual werde ich nicht ganz schlau:
Zitat:
Code:
Soll ergeben:
<?php
$binaerdaten = pack("nvc*", 0x1234, 0x5678, 65, 66); ?>
Code:
0x12, 0x34, 0x78, 0x56, 0x41, 0x4
|
Re: PHP to Delphi: pack() / unpack();
Die Funktion packt alle möglichen Daten in ein Binary String.
Sprich, word, byte, string, integer usw to Binary unter berücksichtigung verschiedener "pack-formate". |
Re: PHP to Delphi: pack() / unpack();
du gibst der Funktion z.B. einzelne Variablen/Konstanten
und die Funktion macht daraus einen Binärstrom #$12#$34#$78#$56#$41#$4 [edit] zwei Dumme - ein Gedanke :lol: |
Re: PHP to Delphi: pack() / unpack();
:gruebel:
Hm, und wann braucht man so was? |
Re: PHP to Delphi: pack() / unpack();
Wenn man zum Beispiel, wie in meinem Fall, eine Anfrage per UDP Sockets an einen Server schickt und bestimmte Daten auswerten möchte.
|
Re: PHP to Delphi: pack() / unpack();
Ich habe es z.B. mal benutzt, um mit einem HTTP-Request zwei Dateien abzuholen. Erst die beiden Integers für die Länge an den Anfang schreiben und dann die beiden Dateien.
Doofer roter Kasten. Aber mein Mitteilungsbedürfnis zwingt mich zu posten... |
Re: PHP to Delphi: pack() / unpack();
Wohl wieder eine dieser Funktionen, die einem nicht einfällt, wenn man sie braucht. :?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:08 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz