我正在尝试使用 PHP 向串行端口(r232)发送一些东西。我正在使用这个类:http ://www.phpclasses.org/browse/package/3679.html
问题是我只能发送 1 个字节。但如果我发送类似“1”的内容,我实际上发送的是 49(ASCII 表示 1)。我尝试使用 send(1) 而不是 send("1"),但这并不好,因为这是具有 2 个字节的整数。那么有没有办法发送一个“真正的”字符,而不是 ASCII 等价物?
我正在尝试使用 PHP 向串行端口(r232)发送一些东西。我正在使用这个类:http ://www.phpclasses.org/browse/package/3679.html
问题是我只能发送 1 个字节。但如果我发送类似“1”的内容,我实际上发送的是 49(ASCII 表示 1)。我尝试使用 send(1) 而不是 send("1"),但这并不好,因为这是具有 2 个字节的整数。那么有没有办法发送一个“真正的”字符,而不是 ASCII 等价物?
chr()函数返回由对应的 ascii 字符的整数给出的字符。
看起来图书馆期待字符作为输入。如果您需要发送编码为 的字符0x01
,您只需发送“\001”。函数 chr() 会将字符转换为整数值,在这里没有用。
还有一件事:整数的字节大小取决于底层系统,主要是 4 个字节。
我不确定您要完成什么。您是否尝试发送整数 1?不熟悉该类,您是否尝试仅给出值 1 作为参数?如果这不起作用,请尝试用chr()
函数包装它。