0

ソケット経由で 1 バイト (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 に答える