تقنية

inet_aton في بايثون: هل يشترط ثلاث نقاط؟

العنوان المختصر 127.1 يعطي بايتات 7f000001
التحويل والعرض. [1] [2]

قبول النص لا يفرض صيغة واحدة. [1] [2]

الخلاصة السريعة

لا؛ inet_aton يقبل 127.1 في تجربتنا. [1] [2]

  • في المدخل نقطة واحدة. [1] [2]
  • إعادة العرض تعطي 127.0.0.1. [1] [2]
  • inet_pton مع AF_INET يرفض الاختصار بـOSError. [1] [2]
  • الصيغة الكاملة تعطي البايتات نفسها؛ المخرج True. [1] [2]
  • المقبول يعتمد على التنفيذ؛ اختبارنا ويندوز 3.12.14 بلا اتصال. [1] [2]

المثال

import socket as s
a=s.inet_aton("127.1")
print(s.inet_ntoa(a))
try:
 s.inet_pton(s.AF_INET,"127.1")
except OSError:
 print("OSError")
print(a==s.inet_pton(
 s.AF_INET,"127.0.0.1"))

[1] [2]

الدالة والتنفيذ

المصدر يفوض التحويل إلى دوال C الأساسية. تنبه الوثائق إلى اعتماد الصيغ المقبولة على التنفيذ؛ لا نعمم النتيجة على كل نظام أو محلل عناوين. [1] [2]

inet_pton يرفض 127.1 ويقبل الصيغة الكاملة هنا
مقارنة محلية. [1] [2]

مخرجات محلية

المخرجات 127.0.0.1 وOSError وTrue. البايتات الأربعة هي 7f000001 بالعرض الست عشري. تحويل النص وعرض البايتات لا يختبران خدمة عند هذا العنوان. [1] [2]

المراجع

  1. Python 3.12: IPv4 text conversions
  2. CPython 3.12.14: native conversion wrappers
  3. موضوع تك: لغة بايثون — مفردات
  4. موضوع تك: تطبيقات بايثون — مفردات

للتوسع: بحث عن لغات البرمجة

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.