TheBrain نشر 4 يناير 2016 أرسل تقرير نشر 4 يناير 2016 أريد تحويل سلسلة نصية تحتوي على رمز سداسي عشري (hex) لحروف آسكي، فمثلا أريد تحويل "0x7061756c" إلى "paul" فما أسهل طريقة للتحويل؟ 1 اقتباس
1 هشام رزق الله نشر 4 يناير 2016 أرسل تقرير نشر 4 يناير 2016 يوجد في بايثون الكثير من الطرق التي يمكنك من خلالها تحويل سلسلة نصية تحتوي على حروف آسكي تم ترميزها بـ 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 اقتباس
السؤال
TheBrain
أريد تحويل سلسلة نصية تحتوي على رمز سداسي عشري (hex) لحروف آسكي، فمثلا أريد تحويل "0x7061756c" إلى "paul" فما أسهل طريقة للتحويل؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.