"แพ็กเก็ต" ที่เล็กที่สุดที่สามารถส่งผ่านโมดูลซ็อกเก็ตคืออะไร ฉันต้องการส่งข้อมูล 16 บิต 2 ไบต์เท่านั้น และเป็นสิ่งที่ฉันต้องส่งอย่างรวดเร็ว ดังนั้นฉันจึงต้องการให้มีขนาดเล็กที่สุดเท่าที่จะเป็นไปได้ ฉันได้ทำ "การทดลอง" เพื่อค้นหาขนาดที่เล็กที่สุด ไม่มีอะไรที่ฉันได้รับจะน้อยกว่า 28 ไบต์
ผลการทดสอบ:
sys.getsizeof(2) = 28
sys.getsizeof(0b0001) = 28
sys.getsizeof(bytes(0b0001)) = 34
sys.getsizeof('0001') = 66
sys.getsizeof('a') = 60
sys.getsizeof(0b0001000100010001000100010001) = 28
sys.getsizeof(0b000100010001000100010001000100010001) = 32
ฉันแค่สงสัยว่านั่นเป็นสิ่งที่เล็กที่สุดที่ฉันสามารถส่งได้จริงหรือ
ฉันยังต้องการเพิ่มด้วยว่า python นั้นยากมากที่จะทำงานกับไบนารี่ ฉันรู้ว่ามันไม่มีความเกี่ยวข้องเหมือนเมื่อก่อน แต่สำหรับบางสิ่งมันก็มีประโยชน์ ฉันพูดแบบนี้ด้วยเหตุผลสองประการ:
1) ดูเหมือนว่าฉันไม่สามารถเก็บตัวแปรไบนารี่ได้ มันจะเปลี่ยนกลับเป็นจำนวนเต็มหรือประเภทอื่นเสมอ
2) จากการทดสอบฉันทำการแปลงไบนารีเป็นไบต์และได้ขนาดดังนี้:
sys.getsizeof(bytes(0b0001001001001001001001001)) = 2396778
sizeof('a') = 25
และ `sizeof(2) = 12 - person Joran Beasley   schedule 07.09.2012