• 1

كيف أحول سلسلة نصية آسكي مُرمزة بـ Hex إلى آسكي في بايثون؟

أريد تحويل سلسلة نصية تحتوي على رمز سداسي عشري (hex) لحروف آسكي، فمثلا أريد تحويل "0x7061756c" إلى "paul" فما أسهل طريقة للتحويل؟

1 شخص أعجب بهذا

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


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

يوجد في بايثون الكثير من الطرق التي يمكنك من خلالها تحويل سلسلة نصية تحتوي على حروف آسكي تم ترميزها بـ hex إلى سلسلة نصية عادية تحتوي على أحرف عادية وأسهل هذه الطرق هي عن طريق استخدام دالة decode() التي تفك ترميز حيث سنمرر لها كلمة "hex” وستفك ترميز السلسلة النصية المطلوبة كما في المثال التالي:

>>> "7061756c".decode("hex")
'paul'

ومن الطرق الأخرى استخدام عدة دوال مثل join وzip بالإضافة إلى حلقة التكرار for كما في المثال التالي:

>>> txt = '7061756c'
>>> ''.join([chr(int(''.join(c), 16)) for c in zip(txt[0::2],txt[1::2])])
'paul'                                                                          
1 شخص أعجب بهذا

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


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

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

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

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


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

تسجيل الدخول

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


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