5
멍청한 파이썬 질문에 사과드립니다.하지만 너무 오랫동안이 문제에 봉착했습니다.파이썬 소켓의 출력 처리 recv
저는 파이썬 소켓을 사용하여 서버에서 일부 데이터를 수신하고 있습니다. 나는이 작업을 수행 :
data = self.socket.recv(4)
print "data is ", data
print "repr(data) is ", repr(data)
콘솔에 출력은 이것이다 :
데이터입니다
에 repr (데이터)한다 '\ x00에서 \ x00에서 \ x00부터 \ X01'
본질적으로 4 바이트 수를 포함하는이 문자열을 int로 변환하거나 실제로 C에서 길이가 길어 지도록하고 싶습니다.이 데이터 객체를 쉽게 관리 할 수있는 숫자 값으로 변환하려면 어떻게해야합니까?
감사 :
코드는 같을 것이다. 빅 엔디 언 (big-endian)이기 때문에 실제로는 "myint = unpack ("! i ", data) [0]"을 수행해야했으며 터플로 나타납니다. 편집하고 싶다면 답을 올바르게 표시하겠습니다. 다시 도움을 주셔서 감사합니다. – chrism1
튜플 부분을 놓쳤습니다. :) 귀하의 요청에 따라 답변을 수정했습니다. – grieve
그냥 pedantic하기 위해서, 나는 마지막 줄도 있어야한다고 생각합니다 : myint = struct.unpack ("! i", data) [0] –