2013-07-06 5 views
0

소켓을 통해 바이트 (0-255)를 쓰고 싶지만 어떻게해야하는지 알 수 없습니다.소켓을 통해 파이썬 쓰기 바이트

socket.send(str(unichr(byte)))은 0-128에서 작동하고 UnicodeEncodeError이됩니다.

어쨌든 소켓에 바이트를 쓸 수 있습니까? 미리 감사드립니다.

+1

그냥 소켓에 바이트를 쓸 수없고 수신 측에서 문자열로 인코딩 할 수 없습니까? – Nadh

답변

1

정상적인 바이트 테스트를 사용하십시오.

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

또는 chr().

socket.send(chr(0xa5)) 
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' 

대신 있음을 보내십시오.

+0

바이트는 텍스트가 아닌 소켓을 통해 보내야합니다. –

관련 문제