Xin lỗi cho câu hỏi Python noob nhưng tôi đã bị mắc kẹt về điều này quá lâu.Xử lý đầu ra của ổ cắm python recv
Tôi đang sử dụng ổ cắm python để nhận một số dữ liệu từ máy chủ. Tôi làm điều này:
data = self.socket.recv(4)
print "data is ", data
print "repr(data) is ", repr(data)
Sản lượng trên console là thế này:
dữ liệu là
repr (dữ liệu) được '\ x00 \ x00 \ x00 \ x01'
Tôi muốn biến chuỗi này chứa một số 4 byte thành một int - hoặc thực sự là cái gì dài trong C. Làm thế nào tôi có thể biến đối tượng dữ liệu này thành một giá trị số mà tôi có thể dễ dàng quản lý?
Cảm ơn. Tôi thực sự phải làm "myint = unpack ("! I ", dữ liệu) [0]" vì nó là người lớn và nó xuất hiện như một bộ tuple. Nếu bạn muốn chỉnh sửa, tôi sẽ đánh dấu câu trả lời của bạn chính xác. Một lần nữa, cảm ơn bạn vì đã giúp. – chrism1
Thiếu phần tuple. :) Đã chỉnh sửa câu trả lời theo yêu cầu của bạn. – grieve
Chỉ để được pedantic, tôi tin rằng dòng cuối cùng cũng nên là: myint = struct.unpack ("! I", dữ liệu) [0] –