ازگر میں ہیکساڈیسیمل پر سٹرنگ۔

String Hexadecimal Python



ہیکساڈیسیمل کی بنیاد 16 ہے ، اور ہم 0x کا سابقہ ​​استعمال کرتے ہوئے ہیکساڈیسیمل فارمیٹ میں سٹرنگ کی نمائندگی کر سکتے ہیں۔

ہم مندرجہ ذیل طریقوں کا استعمال کرتے ہوئے تار کو ہیکساڈیسیمل میں تبدیل کر سکتے ہیں۔







  1. hex (n) طریقہ استعمال کرنا۔
  2. انکوڈ () طریقہ استعمال کرتے ہوئے۔
  3. literal_eval () طریقہ استعمال کرنا۔

طریقہ 1: ہیکس () کا استعمال

ہم ہیکس () طریقہ استعمال کرتے ہوئے تار کو ہیکساڈیسیمل میں تبدیل کر سکتے ہیں۔ hex () طریقہ پیرامیٹر کو انٹیجر فارم میں قبول کرتا ہے ، اور اس کے لیے پہلے ہمیں اسٹرنگ کو ایک انٹیجر میں تبدیل کرنا ہوگا اور پھر اس ویلیو کو hex () میتھڈ میں منتقل کرنا ہوگا جیسا کہ ذیل میں دکھایا گیا ہے۔



مثال: string_to_hex.py۔










10۔
گیارہ
12۔
13۔
14۔
پندرہ
16۔
17۔
18۔
19۔
بیس
اکیس
# string_to_hex.py

p = '245 ایف سی'

# str کو int () کو بیس 16 انٹ میں تبدیل کرنے کے لیے منتقل کریں۔

بیس 16INT= int(p، 16۔)

# تبدیل شدہ سٹرنگ کو بیس 16 ہیکساڈیسیمل انٹ ویلیو پر پرنٹ کریں۔

پرنٹ کریں('قدر'،بیس 16INT)

پرنٹ کریں('قدر'،قسم(بیس 16INT))

hex_value= ہیکس(بیس 16INT)

پرنٹ کریں(hex_value)

# قیمت کی قسم کو چیک کرنا۔

پرنٹ کریں(قسم(hex_value))

آؤٹ پٹ:








قدر148988۔

قدر<کلاس 'انٹ'>

0x245fc

<کلاس 'str'>

لائن 3: ہم نے ڈیمو کے لیے ایک تار بنایا۔

لائن 6: ہم اس سٹرنگ کو بیس (16) کے ساتھ int () طریقہ پر منتقل کرتے ہیں۔



لائن 9: ہم اس قدر کو پرنٹ کرتے ہیں جو ہمیں سٹرنگ کو انٹیجر ہیکساڈیسیمل میں تبدیل کرنے کے بعد ملتی ہے۔





لائن 10: ہم اس بات کی تصدیق کے لیے ویلیو ٹائپ بھی پرنٹ کرتے ہیں کہ تار اب ایک عدد کی شکل میں ہے۔

لائن 12: ہم جانتے ہیں کہ ان بلٹ ہیکس (این) طریقہ عددی قدر کو قبول کرتا ہے ، عدد کو ہیکساڈیسیمل سٹرنگ میں تبدیل کرتا ہے۔ اسی لیے ہمیں تار کو ہیکز () طریقہ میں منتقل کرنے کے لیے ایک عدد میں تبدیل کرنے کی ضرورت ہے۔ ہم نے اس base16INT ویلیو کو hex () طریقہ سے پاس کیا اور hex_value ، string hexadecimal ملا۔



لائن 13: ہم اس تبدیل شدہ ہیکساڈیسیمل ویلیو کو پرنٹ کرتے ہیں۔

لائن 16: ہم تبدیل شدہ ہیکساڈیسیمل ویلیو کی قسم پرنٹ کرتے ہیں ، جو آؤٹ پٹ میں ظاہر کرتا ہے کہ یہ ایک سٹرنگ ٹائپ ہے۔

تو ، اب ہم نے سٹرنگ کو ہیکساڈیسیمل ویلیو میں تبدیل کر دیا۔

طریقہ 2: انکوڈ () کا استعمال کرتے ہوئے تار کو ہیکساڈیسیمل میں تبدیل کریں

ہم عام سٹرنگ کو ہیکساڈیسیمل سٹرنگ میں بھی تبدیل کر سکتے ہیں جس میں کوئی ہیکساڈیسیمل کریکٹر نہیں ہے۔ اس کے لیے ، ہمیں طریقہ انکوڈ () کا استعمال کرتے ہوئے سٹرنگ کو بائٹ میں تبدیل کرنا ہوگا ، اور پھر ہم اسٹرنگ کو ہیکساڈیسیمل میں تبدیل کر سکتے ہیں جیسا کہ ذیل میں دکھایا گیا ہے۔










10۔
گیارہ
12۔
13۔
14۔
پندرہ
16۔
17۔
18۔
19۔
بیس
اکیس
22۔
2. 3۔
24۔
25۔
# string_to_hex_utf8.py



# تار کو بائٹس میں تبدیل کریں۔

p= 'لینکس ہنٹ'.انکوڈ('utf-8')



# تبدیل شدہ تار کو بائٹس میں پرنٹ کریں۔

پرنٹ کریں(p)



# سٹرنگ بائٹس کو ہیکساڈیسیمل سٹرنگ میں تبدیل کریں۔

hex_str= p.ہیکس()



# تبدیل شدہ ہیکساڈیسیمل ویلیو ٹائپ پرنٹ کریں۔

پرنٹ کریں(قسم(hex_str))

آؤٹ پٹ:




ب'لینکس ہنٹ'

<کلاس 'str'>

لائن 4 سے 7: ہم نے ایک سٹرنگ بنائی ہے جس میں کوئی ہیکساڈیسیمل کریکٹر نہیں ہے۔ اور پھر ان ڈور کو انکوڈ () طریقہ استعمال کرتے ہوئے بائٹس میں تبدیل کریں۔ اور پھر ، ہم ان بائٹس کو پرنٹ کرتے ہیں ، جو ہم آؤٹ پٹ لائن نمبر 1 میں دیکھ سکتے ہیں۔

لائن 10 سے 13: ہم ڈاٹ آپریٹر کا استعمال کرتے ہوئے hex () طریقہ کو کہتے ہیں ، اور اب بائٹس ہماری مطلوبہ ہیکساڈیسیمل سٹرنگ ویلیو میں تبدیل ہو جاتے ہیں۔ رزلٹ سٹرنگ کی قسم کی تصدیق کے لیے ، ہم صرف لائن نمبر 13 پرنٹ کرتے ہیں ، اور آؤٹ پٹ سے پتہ چلتا ہے کہ یہ سٹرنگ ہیکساڈیسیمل ٹائپ میں ہے۔

طریقہ 3. ast.literal_eval () طریقہ استعمال کرنا۔

ہم ast لائبریری طریقہ literal_eval کا استعمال کرتے ہوئے سٹرنگ کو ایک عدد میں تبدیل کر سکتے ہیں۔ یہ طریقہ سٹرنگ کو ہیکساڈیسمل سٹرنگ میں تبدیل کرنے کے لیے ہیکس () طریقہ استعمال کرنے کے لیے اسٹرنگ کو ایک عدد میں تبدیل کرتا ہے۔ لیکن یہ طریقہ صرف 0x سابقہ ​​حروف کو قبول کرتا ہے۔










10۔
گیارہ
12۔
13۔
14۔
پندرہ
16۔
17۔
18۔
19۔
بیس
اکیس
22۔
2. 3۔
24۔
25۔
26۔
27۔
28۔
29۔
30۔
31۔
32۔
33۔
# string_to_hex_utf8.py

سےشاخدرآمدلفظی_یول

p = '0xAAA'



# تار کو عدد میں تبدیل کریں۔

convert_str=لفظی_یول(p)



# convert_str کی قدر اور قسم پرنٹ کریں۔

پرنٹ کریں(convert_str)

پرنٹ کریں('قسم'، قسم(convert_str))



# convert_str کو hex () طریقہ سے منتقل کریں۔

hex_value= ہیکس(convert_str)

پرنٹ کریں(hex_value)



# قیمت کی قسم کو چیک کرنا۔

پرنٹ کریں(قسم(hex_value))

آؤٹ پٹ:








2730۔

قسم <کلاس 'انٹ'>

0xaaa

<کلاس 'str'>

لائن 2 سے 10: ہم ast لائبریری سے طریقہ literal_eval () درآمد کرتے ہیں۔ پھر ہم سابقہ ​​0x کے ساتھ ایک تار بناتے ہیں۔ پھر ہم نے اس سٹرنگ کو literal_eval () طریقہ پر منتقل کیا اور اسے عدد میں تبدیل کردیا۔ اس بات کی تصدیق کرنے کے لیے کہ آؤٹ پٹ انٹیجر فارم میں ہے ، ہم اسے لائن نمبر 9 میں پرنٹ کرتے ہیں۔

لائن 13 سے 17: ہم ان بلٹ ہیکس (این) کا طریقہ جانتے ہیں جو انٹیجر ویلیو کو قبول کرتا ہے ، انٹیجر کو ہیکساڈیسیمل سٹرنگ میں تبدیل کرتا ہے۔ اسی لیے ہمیں تار کو ہیکز () طریقہ میں منتقل کرنے کے لیے ایک عدد میں تبدیل کرنے کی ضرورت ہے۔ ہم نے اس convert_str (انٹیجر) ویلیو کو hex () طریقہ سے پاس کیا اور hex_value ، string hexadecimal ملا۔ ہم اس تبدیل شدہ ہیکساڈیسیمل ویلیو کو پرنٹ کرتے ہیں۔ ہم تبدیل شدہ ہیکساڈیسیمل ویلیو کی قسم کو بھی پرنٹ کرتے ہیں ، جو ظاہر کرتا ہے کہ یہ سٹرنگ ہیکساڈیسیمل ٹائپ ہے۔

غلطی استثناء (TypeError):

بعض اوقات ہم تار کو ہیکساڈیسیمل سٹرنگ میں تبدیل کرتے ہوئے غلطیاں پائیں گے۔ اس کے پیچھے وجہ یہ ہے کہ hex () طریقہ صرف عدد کی قیمت کو پیرامیٹر کے طور پر قبول کرتا ہے۔








string_hex= '0xFF'



hex_output= ہیکس(string_hex)

پرنٹ کریں(hex_output)

آؤٹ پٹ:


ٹائپ ایرر۔:'str' چیزتشریح نہیں کی جا سکتیجیسا کہایک عدد

نتیجہ:

لہذا ، ہم نے سٹرنگ کو ہیکساڈیسمل لوئر کیس سٹرنگ میں تبدیل کرنے کے مختلف طریقے دیکھے ہیں۔ ہیکس () طریقہ اس کے آسان استعمال کی وجہ سے بہت مشہور ہے۔ لیکن بعض اوقات ، ہم 0x کا سابقہ ​​استعمال کیے بغیر سٹرنگ کو تبدیل کرنا چاہتے ہیں ، اس صورت میں ، ہم بائٹس انکوڈ () طریقہ استعمال کرسکتے ہیں ، جیسا کہ ہم نے پہلے ہی مضمون میں دیکھا ہے۔

اس مضمون کا کوڈ نیچے گیتھب لنک پر دستیاب ہے:

https://github.com/shekharpandey89/string-to-hex-conversion