2 Stimmen

Nicht-ASCII-Zeichen in PHP?

Ich versuche, mit PHP etwas an die serielle Schnittstelle (r232) zu senden. Ich verwende diese Klasse: http://www.phpclasses.org/browse/package/3679.html

Das Problem ist, dass ich nur 1 Byte senden darf. Wenn ich aber etwas wie "1" sende, sende ich eigentlich 49 (ASCII für 1). Anstelle von send("1") habe ich es mit send(1) versucht, aber das bringt nichts, weil es sich um eine Ganzzahl handelt, die 2 Byte hat. Gibt es also eine Möglichkeit, ein "echtes" Zeichen zu senden, das nicht dem ASCII entspricht?

4voto

Anthony Punkte 7050

Le site chr() gibt ein Zeichen zurück, das durch die Ganzzahl für das entsprechende ASCII-Zeichen gegeben ist.

0voto

soulmerge Punkte 70900

Es sieht so aus, als erwarte die Bibliothek Zeichen als Eingabe. Wenn Sie das Zeichen senden müssen, das in 0x01 senden Sie einfach " \001 ". Die Funktion chr() würde Zeichen in ganzzahlige Werte umwandeln und wäre hier unbrauchbar.

Noch etwas: Die Bytegröße von Ganzzahlen hängt vom zugrunde liegenden System ab und beträgt meist 4 Byte.

0voto

Henrik Paul Punkte 65301

Ich bin mir nicht sicher, was Sie zu erreichen versuchen. Versuchen Sie, die ganze Zahl 1 zu senden? Da ich mit der Klasse nicht vertraut bin, haben Sie versucht, nur den Wert 1 als Argument anzugeben? Wenn das nicht funktioniert, versuchen Sie, es mit der chr() función.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X