पायथन में हेक्साडेसिमल के लिए स्ट्रिंग

String Hexadecimal Python



हेक्साडेसिमल का आधार 16 है, और हम उपसर्ग 0x का उपयोग करके हेक्साडेसिमल प्रारूप में एक स्ट्रिंग का प्रतिनिधित्व कर सकते हैं।

हम निम्नलिखित विधियों का उपयोग करके स्ट्रिंग को हेक्साडेसिमल में बदल सकते हैं:







  1. हेक्स (एन) विधि का उपयोग करना
  2. एन्कोड () विधि का उपयोग करना
  3. शाब्दिक_eval () विधि का उपयोग करना

विधि 1: हेक्स का उपयोग करना ()

हम हेक्स () विधि का उपयोग करके स्ट्रिंग को हेक्साडेसिमल में बदल सकते हैं। हेक्स () विधि पैरामीटर को पूर्णांक रूप में स्वीकार करती है, और उसके लिए पहले, हमें स्ट्रिंग को एक पूर्णांक में बदलना होगा और फिर उस मान को हेक्स () विधि में पास करना होगा जैसा कि नीचे दिखाया गया है:



उदाहरण: string_to_hex.py

1
2
3
4
5
6
7
8
9
10
ग्यारह
12
१३
14
पंद्रह
16
17
१८
19
बीस
इक्कीस
# string_to_hex.py

पी = '245FC'

# str को int () में पास करके बेस16 int . में बदलें

बेस16INT= NS(पी, 16)

# परिवर्तित स्ट्रिंग को बेस 16 हेक्साडेसिमल इंट वैल्यू में प्रिंट करें

प्रिंट('मूल्य',बेस16INT)

प्रिंट('मूल्य',प्रकार(बेस16INT))

hex_value= हेक्स(बेस16INT)

प्रिंट(hex_value)

# मूल्य के प्रकार की जाँच करना

प्रिंट(प्रकार(hex_value))

आउटपुट:

1
2
3
4
5
6
7
मूल्य१४८९८८

मूल्य<कक्षा 'NS'>

0x245fc

<कक्षा 'स्ट्र'>

पंक्ति 3: हमने डेमो के लिए एक स्ट्रिंग बनाई।

पंक्ति ६: हम उस स्ट्रिंग को आधार 16 के साथ int () विधि में पास करते हैं। अब, यह int () विधि स्ट्रिंग को हेक्साडेसिमल पूर्णांक मान में बदल देगी।



लाइन 9: हम स्ट्रिंग को पूर्णांक हेक्साडेसिमल में बदलने के बाद प्राप्त होने वाले मान को प्रिंट करते हैं।





पंक्ति 10: हम यह पुष्टि करने के लिए मान प्रकार भी प्रिंट करते हैं कि स्ट्रिंग अब एक पूर्णांक के रूप में है।

पंक्ति 12: हम जानते हैं कि इन-बिल्ट हेक्स (एन) विधि पूर्णांक मान को स्वीकार करती है, पूर्णांक को हेक्साडेसिमल स्ट्रिंग में परिवर्तित करती है। इसलिए हमें इसे हेक्स () विधि में पास करने के लिए स्ट्रिंग को एक पूर्णांक में बदलने की आवश्यकता है। हमने उस base16INT मान को hex() विधि में पास किया और hex_value, स्ट्रिंग हेक्साडेसिमल प्राप्त किया।



लाइन 13: हम उस परिवर्तित हेक्साडेसिमल मान को प्रिंट करते हैं।

लाइन 16: हम परिवर्तित हेक्साडेसिमल मान के प्रकार को प्रिंट करते हैं, जो आउटपुट में दिखाता है कि यह एक स्ट्रिंग प्रकार है।

तो, अब हमने स्ट्रिंग को हेक्साडेसिमल मान में बदल दिया है।

विधि 2: एन्कोड () का उपयोग करके स्ट्रिंग को हेक्साडेसिमल में बदलें

हम सामान्य स्ट्रिंग को एक हेक्साडेसिमल स्ट्रिंग में भी बदल सकते हैं जिसमें कोई हेक्साडेसिमल वर्ण नहीं होता है। उसके लिए, हमें एनकोड () विधि का उपयोग करके स्ट्रिंग को बाइट में बदलना होगा, और फिर हम स्ट्रिंग को हेक्साडेसिमल में बदल सकते हैं जैसा कि नीचे दिखाया गया है:

1
2
3
4
5
6
7
8
9
10
ग्यारह
12
१३
14
पंद्रह
16
17
१८
19
बीस
इक्कीस
22
2. 3
24
25
# string_to_hex_utf8.py



# स्ट्रिंग को बाइट्स में बदलें

पी= 'लिनक्सहिंट'.एन्कोड('यूटीएफ़-8')



# परिवर्तित स्ट्रिंग को बाइट्स में प्रिंट करें

प्रिंट(पी)



# स्ट्रिंग बाइट्स को हेक्साडेसिमल स्ट्रिंग में बदलें

hex_str= पी.हेक्स()



# परिवर्तित हेक्साडेसिमल मान प्रकार प्रिंट करें

प्रिंट(प्रकार(hex_str))

आउटपुट:

1
2
3
बी'लिनक्सहिंट'

<कक्षा 'स्ट्र'>

लाइन 4 से 7: हमने एक स्ट्रिंग बनाई है जिसमें कोई हेक्साडेसिमल वर्ण नहीं है। और फिर एन्कोड () विधि का उपयोग करके उन स्ट्रिंग्स को बाइट्स में कनवर्ट करें। और फिर, हम उन बाइट्स को प्रिंट करते हैं, जिन्हें हम आउटपुट लाइन नंबर 1 में देख सकते हैं।

लाइन 10 से 13: हम डॉट ऑपरेटर का उपयोग करके हेक्स () विधि को कॉल करते हैं, और अब बाइट्स को हेक्साडेसिमल स्ट्रिंग मान में परिवर्तित कर दिया जाता है जिसकी हमें आवश्यकता होती है। परिणाम स्ट्रिंग के प्रकार की पुष्टि करने के लिए, हम केवल लाइन नंबर 13 को प्रिंट करते हैं, और आउटपुट से पता चलता है कि यह एक स्ट्रिंग हेक्साडेसिमल प्रकार में है।

विधि 3. ast.literal_eval () विधि का उपयोग करना

हम ast लाइब्रेरी विधि का उपयोग करके स्ट्रिंग को एक पूर्णांक में भी बदल सकते हैं शाब्दिक_eval। यह विधि स्ट्रिंग को हेक्साडेसिमल स्ट्रिंग में बदलने के लिए हेक्स () विधि का उपयोग करने के लिए स्ट्रिंग को एक पूर्णांक में परिवर्तित करती है। लेकिन यह विधि केवल 0x उपसर्ग वर्णों को स्वीकार करती है।

1
2
3
4
5
6
7
8
9
10
ग्यारह
12
१३
14
पंद्रह
16
17
१८
19
बीस
इक्कीस
22
2. 3
24
25
26
२७
28
29
30
31
32
33
# string_to_hex_utf8.py

सेडालीआयातशाब्दिक_eval

पी = '0xAAA'



# स्ट्रिंग को पूर्णांक में बदलें

कन्वर्ट_स्ट्र=शाब्दिक_eval(पी)



# कन्वर्ट_स्ट्र का मान और प्रकार प्रिंट करें

प्रिंट(कन्वर्ट_स्ट्र)

प्रिंट('प्रकार', प्रकार(कन्वर्ट_स्ट्र))



# Convert_str को हेक्स () विधि में पास करें

hex_value= हेक्स(कन्वर्ट_स्ट्र)

प्रिंट(hex_value)



# मूल्य के प्रकार की जाँच करना

प्रिंट(प्रकार(hex_value))

आउटपुट:

1
2
3
4
5
6
7
२७३०

प्रकार <कक्षा 'NS'>

0xaaa

<कक्षा 'स्ट्र'>

लाइन 2 से 10: हम एस्ट लाइब्रेरी से मेथड लिटरल_एवल () इंपोर्ट करते हैं। फिर हम उपसर्ग 0x के साथ एक स्ट्रिंग बनाते हैं। फिर हमने उस स्ट्रिंग को शाब्दिक_ईवल () विधि में पास किया और इसे पूर्णांक में बदल दिया। यह पुष्टि करने के लिए कि आउटपुट पूर्णांक रूप में है, हम इसे लाइन नंबर 9 में प्रिंट करते हैं। हम आउटपुट के प्रकार को भी प्रिंट करते हैं, जिससे पता चलता है कि यह एक पूर्णांक है।

लाइन 13 से 17: हम इन-बिल्ट हेक्स (एन) विधि जानते हैं जो पूर्णांक मान को स्वीकार करता है, पूर्णांक को हेक्साडेसिमल स्ट्रिंग में परिवर्तित करता है। इसलिए हमें इसे हेक्स () विधि में पास करने के लिए स्ट्रिंग को एक पूर्णांक में बदलने की आवश्यकता है। हमने उस Convert_str (पूर्णांक) मान को hex () विधि में पास किया और hex_value, स्ट्रिंग हेक्साडेसिमल प्राप्त किया। हम उस परिवर्तित हेक्साडेसिमल मान को प्रिंट करते हैं। हम परिवर्तित हेक्साडेसिमल मान के प्रकार को भी प्रिंट करते हैं, जिससे पता चलता है कि यह एक स्ट्रिंग हेक्साडेसिमल प्रकार है।

त्रुटि अपवाद (लेखन त्रुटि):

स्ट्रिंग को हेक्साडेसिमल स्ट्रिंग में कनवर्ट करते समय कभी-कभी हमें त्रुटियां मिलेंगी। इसके पीछे कारण यह है कि हेक्स () विधि केवल पूर्णांक मान को एक पैरामीटर के रूप में स्वीकार करती है।

1
2
3
4
5
6
7
स्ट्रिंग_हेक्स= '0xFF'



हेक्स_आउटपुट= हेक्स(स्ट्रिंग_हेक्स)

प्रिंट(हेक्स_आउटपुट)

आउटपुट:

1
त्रुटि प्रकार:'स्ट्र' वस्तुव्याख्या नहीं की जा सकतीजैसापूर्णांक

निष्कर्ष:

इसलिए, हमने स्ट्रिंग को हेक्साडेसिमल लोअरकेस स्ट्रिंग में बदलने के लिए विभिन्न तरीकों को देखा है। हेक्स () विधि अपने आसान उपयोग के कारण बहुत लोकप्रिय है। लेकिन कभी-कभी, हम उपसर्ग 0x का उपयोग किए बिना स्ट्रिंग को कनवर्ट करना चाहते हैं, इसलिए उस स्थिति में, हम बाइट्स एनकोड () विधि का उपयोग कर सकते हैं, जैसा कि हम पहले ही लेख में देख चुके हैं।

इस लेख का कोड नीचे दिए गए जीथब लिंक पर उपलब्ध है:

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