1
입력으로 문자열을 수락하지 구조체입니다왜 내가 구조체는 문자열을 포장하지에 문제가있어
나는 현재 임의의 20 바이트 길이의 문자열을 생성하고나는 20 개 옥텟이 사용하는 구조체를 포장 할 때 인수가이 방법을 포장 할 수 있도록 문자열을 인코딩의 빠르고 쉬운 방법이
정수로 변환 할 수 없습니다 :
payload = struct.pack("H" * 20, *rendezvous_cookie)
rendezvous_cookie calculated by os.urandom(20)
아래 코드는 내가 오류 struct.error를 얻을?
payload = struct.pack('!20s', rendezvous_cookie)
이 문자열로 벌금 입력을 받아, 20 개 옥텟
어째서'struct'를 통해 이것을 먹이고 싶습니까? 문자열을 원하면 이미 가지고 있습니다. (int를 원한다면,'unpack '을 원한다.) – user2357112
나는이 데이터를 패킷으로 보내기를 원한다. 20 옥텟의 페이로드에 쿠키의 데이터를 포장하고 싶다. – user2061913
이미 페이로드 20이다. 옥텟 최종 struct.pack은 기본적으로 NOP입니다. 그것을 스스로 증명하십시오 :'foo = os.urandom (20); bar = struct.pack ('! 20s', foo); foo == bar' –