• 0

كيف أتأكد من أن سلسلة معينة في بايثون هي من نوع ASCII؟

أريد التأكد من سلاسل نصية أدخلهم المستخدم هل هم من نوع ASCII أو لا، فهل هنالك طريقة معينة تمكّني من معرفة ذلك؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

هنالك عدة طريق للتأكد من سلسلة نصية معينة ما إذا كانت ASCII أو لا في لغة بايثون، فمثلا يمكنك إنشاء دالة للتكرار على جميع الحروف الموجودة في السلسلة النصية واختبار ترتيبها ما إذا كان أقل من 128 أو لا، فإذا كان ترتيب جميع حروفها أقل من 128 فهذا يعني أن السلسلة النصية من نوع ASCII كما في المثال التالي:

def is_ascii(s):
    return all(ord(c) < 128 for c in s)

يمكنك أيضا أن تقوم بفك تشفير السلسلة النصية باستخدام دالة decode مع تمرير ASCII لها، فإذا تم التشفير دون مشاكل فهذا يعني أن السلسلة النصية من نوع ASCII كما في المثال التالي:

try:
    mystring.decode('ascii')
except UnicodeDecodeError:
    print "it was not a ascii-encoded unicode string"
else:
    print "It may have been an ascii-encoded unicode string"

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن