Не ASCII символ в PHP? - PullRequest
       36

Не ASCII символ в PHP?

2 голосов
/ 11 апреля 2009

Я пытаюсь отправить что-то на последовательный порт (r232) с помощью PHP. Я использую этот класс: http://www.phpclasses.org/browse/package/3679.html

Проблема в том, что мне разрешено отправлять только 1 байт. Но если я посылаю что-то вроде «1», я на самом деле отправляю 49 (ASCII для 1). Вместо send ("1") я попытался с send (1), но это не очень хорошо, потому что это целое число, которое имеет 2 байта. Так есть ли способ отправить "настоящий" символ, а не эквивалент ASCII?

Ответы [ 3 ]

4 голосов
/ 11 апреля 2009

Функция chr () возвращает символ, заданный целым числом для соответствующего символа ascii.

0 голосов
/ 11 апреля 2009

Я не уверен, что вы пытаетесь достичь. Вы пытаетесь отправить целое число 1? Не знакомы с классом, пытались ли вы указать в качестве аргумента только значение 1? Если это не сработает, попробуйте обернуть его с помощью функции chr().

0 голосов
/ 11 апреля 2009

Похоже, библиотека ожидает ввода символов. Если вам нужно отправить символ, который будет закодирован в 0x01, просто отправьте «\ 001». Функция chr () будет преобразовывать символы в целочисленные значения и здесь будет бесполезна.

Еще одна вещь: размер байта целых чисел зависит от базовой системы и в основном составляет 4 байта.

...