소켓을 통해 바이트 (0-255)를 쓰고 싶지만 어떻게해야하는지 알 수 없습니다.소켓을 통해 파이썬 쓰기 바이트
socket.send(str(unichr(byte)))
은 0-128에서 작동하고 UnicodeEncodeError
이됩니다.
어쨌든 소켓에 바이트를 쓸 수 있습니까? 미리 감사드립니다.
소켓을 통해 바이트 (0-255)를 쓰고 싶지만 어떻게해야하는지 알 수 없습니다.소켓을 통해 파이썬 쓰기 바이트
socket.send(str(unichr(byte)))
은 0-128에서 작동하고 UnicodeEncodeError
이됩니다.
어쨌든 소켓에 바이트를 쓸 수 있습니까? 미리 감사드립니다.
정상적인 바이트 테스트를 사용하십시오.
socket.send('\xa5')
socket.send('Hello, world!')
또는 chr()
.
socket.send(chr(0xa5))
그것은 실제로는 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'
대신 있음을 보내십시오.
바이트는 텍스트가 아닌 소켓을 통해 보내야합니다. –
그냥 소켓에 바이트를 쓸 수없고 수신 측에서 문자열로 인코딩 할 수 없습니까? – Nadh