Python Programming

Python में कुशल हेक्स से बेस64 रूपांतरण

Spread the love

Base64 और हेक्साडेसीमल (हेक्स) टेक्स्ट फॉर्मेट में बाइनरी डेटा को दर्शाने के लिए आवश्यक एन्कोडिंग स्कीम हैं। Base64 केवल टेक्स्ट माध्यमों से डेटा संचारित करने में उत्कृष्ट है, जबकि हेक्स मानव-पठनीय बाइनरी डेटा प्रतिनिधित्व प्रदान करता है। यह गाइड हेक्साडेसीमल स्ट्रिंग्स को बेस64 में बदलने के लिए कुशल पाइथन विधियों का विवरण देता है।

विषयवस्तु की तालिका

codecs मॉड्यूल के साथ HEX को BASE64 में बदलना

codecs मॉड्यूल बहुमुखी एन्कोडिंग हैंडलिंग प्रदान करता है, जिसमें हेक्स और बेस64 भी शामिल हैं। यह विधि संक्षिप्त और कुशल है।


import codecs

def hex_to_base64_codecs(hex_string):
  """codecs मॉड्यूल का उपयोग करके एक हेक्साडेसीमल स्ट्रिंग को बेस64 एन्कोडेड स्ट्रिंग में बदलता है।

  Args:
    hex_string: परिवर्तित करने के लिए हेक्साडेसीमल स्ट्रिंग।

  Returns:
    बेस64 एन्कोडेड स्ट्रिंग। यदि इनपुट अमान्य है तो None देता है।
  """
  try:
    bytes_object = codecs.decode(hex_string, 'hex')
    base64_bytes = codecs.encode(bytes_object, 'base64')
    return base64_bytes.decode('utf-8')
  except Exception as e:
    print(f"त्रुटि: {e}")
    return None

hex_string = "48656c6c6f20576f726c64"
base64_string = hex_to_base64_codecs(hex_string)
print(f"हेक्स: {hex_string}")
print(f"बेस64: {base64_string}")  # आउटपुट: SGVsbG8gV29ybGQ=

यह कोड codecs.decode('hex') का उपयोग करके हेक्स स्ट्रिंग को बाइट्स में डिकोड करता है, इसे codecs.encode('base64') के साथ बेस64 में एन्कोड करता है, और अंत में परिणाम को .decode('utf-8') का उपयोग करके एक स्ट्रिंग में डिकोड करता है। मजबूत त्रुटि हैंडलिंग अमान्य इनपुट के सुचारू प्रबंधन को सुनिश्चित करता है।

base64 मॉड्यूल के साथ HEX को BASE64 में बदलना

base64 मॉड्यूल सीधे बेस64 एन्कोडिंग/डिकोडिंग को संभालता है। हालाँकि, इसे बाइट्स इनपुट की आवश्यकता होती है, जिसके लिए हेक्स स्ट्रिंग से रूपांतरण चरण की आवश्यकता होती है।


import base64

def hex_to_base64_base64(hex_string):
  """base64 मॉड्यूल का उपयोग करके एक हेक्साडेसीमल स्ट्रिंग को बेस64 एन्कोडेड स्ट्रिंग में बदलता है।

  Args:
    hex_string: परिवर्तित करने के लिए हेक्साडेसीमल स्ट्रिंग।

  Returns:
    बेस64 एन्कोडेड स्ट्रिंग। यदि इनपुट अमान्य है तो None देता है।
  """
  try:
    bytes_object = bytes.fromhex(hex_string)
    base64_bytes = base64.b64encode(bytes_object)
    return base64_bytes.decode('utf-8')
  except Exception as e:
    print(f"त्रुटि: {e}")
    return None

hex_string = "48656c6c6f20576f726c64"
base64_string = hex_to_base64_base64(hex_string)
print(f"हेक्स: {hex_string}")
print(f"बेस64: {base64_string}")  # आउटपुट: SGVsbG8gV29ybGQ=

यह base64.b64encode() एन्कोडिंग से पहले सीधे हेक्स-टू-बाइट्स रूपांतरण के लिए bytes.fromhex() का उपयोग करता है।

binascii मॉड्यूल के साथ HEX को BASE64 में बदलना

binascii मॉड्यूल हेक्स और ASCII सहित विभिन्न प्रतिनिधित्व रूपांतरणों के लिए बाइनरी प्रदान करता है।


import binascii
import base64

def hex_to_base64_binascii(hex_string):
  """binascii मॉड्यूल का उपयोग करके एक हेक्साडेसीमल स्ट्रिंग को बेस64 एन्कोडेड स्ट्रिंग में बदलता है।

  Args:
    hex_string: परिवर्तित करने के लिए हेक्साडेसीमल स्ट्रिंग।

  Returns:
    बेस64 एन्कोडेड स्ट्रिंग। यदि इनपुट अमान्य है तो None देता है।
  """
  try:
    bytes_object = binascii.unhexlify(hex_string)
    base64_bytes = base64.b64encode(bytes_object)
    return base64_bytes.decode('utf-8')
  except binascii.Error:
    print("त्रुटि: अमान्य हेक्साडेसीमल स्ट्रिंग")
    return None
  except Exception as e:
    print(f"त्रुटि: {e}")
    return None

hex_string = "48656c6c6f20576f726c64"
base64_string = hex_to_base64_binascii(hex_string)
print(f"हेक्स: {hex_string}")
print(f"बेस64: {base64_string}")  # आउटपुट: SGVsbG8gV29ybGQ=

binascii.unhexlify() हेक्स स्ट्रिंग को बाइट्स में बदलता है, बाद में base64.b64encode() का उपयोग करके एन्कोड किया जाता है। binascii.Error के लिए विशिष्ट त्रुटि हैंडलिंग स्पष्टता बढ़ाती है।

ये उदाहरण पाइथन में हेक्स-टू-बेस64 रूपांतरण के लिए कई तरीके प्रस्तुत करते हैं। वह विधि चुनें जो आपकी आवश्यकताओं और कोडिंग शैली के अनुकूल हो। उत्पादन कोड में उचित त्रुटि हैंडलिंग को लागू करना याद रखें।

प्रातिक्रिया दे

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. आवश्यक फ़ील्ड चिह्नित हैं *