0

我想在套接字上写一个字节(0-255),但我不知道该怎么做。

socket.send( str( unichr( byte ) ) )适用于 0-128 然后给出UnicodeEncodeError.

无论如何要在套接字上写入一个字节吗?提前致谢。

4

2 回答 2

1

使用普通的字节串。

socket.send('\xa5')
socket.send('Hello, world!')

或者,chr()

socket.send(chr(0xa5))
于 2013-07-06T07:24:35.260 回答
0

实际上,给出错误的不是套接字,而是 str 函数:

>>> str(unichr(200))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode character u'\xc8' in position 0: ordinal not in range(128)
>>> unicode(unichr(200))
u'\xc8'

尝试发送它。

于 2013-07-06T07:44:49.667 回答