Base64 to Hex

Base64 और हेक्साडेसिमल के बीच कनवर्ट करें

Base64

Hex

स्थानीय रूप से चलता है · सीक्रेट पेस्ट करना सुरक्षित है
आउटपुट यहाँ दिखेगा…
Base64 → Hex

Base64 से Hex रूपांतरण क्या है?

Base64 से hex रूपांतरण डेटा को दो सामान्य बाइनरी-से-पाठ एन्कोडिंग योजनाओं के बीच बदलता है। Base64, बाइनरी डेटा को 64 ASCII वर्णों (A-Z, a-z, 0-9, +, /) का उपयोग करके दर्शाता है, जहाँ प्रत्येक 3 बाइट को 4 वर्णों में एन्कोड किया जाता है। हेक्साडेसिमल प्रत्येक बाइट को 16-प्रतीक वर्णमाला (0-9, a-f) के ठीक दो वर्णों के रूप में दर्शाता है। इन फ़ॉर्मैटों के बीच रूपांतरण दो चरणों की प्रक्रिया है: Base64 स्ट्रिंग को उसके कच्चे बाइट में डीकोड करें, फिर उन बाइट को लक्ष्य फ़ॉर्मैट में पुनः एन्कोड करें।

हेक्साडेसिमल संकेतन निम्न-स्तरीय प्रोग्रामिंग, क्रिप्टोग्राफी और नेटवर्क प्रोटोकॉल में बाइनरी डेटा का मानक प्रस्तुतिकरण है। प्रत्येक hex वर्ण सीधे एक 4-बिट निब्बल से संगत होता है, जिससे अलग-अलग बाइट मानों को पढ़ना सरल हो जाता है। SHA-256 हैश, उदाहरण के लिए, लगभग हमेशा 64-वर्ण की hex स्ट्रिंग के रूप में प्रदर्शित होता है। इसके विपरीत, Base64 संक्षिप्तता के लिए अनुकूलित है — वही हैश Base64 में केवल 44 वर्ण लेता है — और यह ईमेल अनुलग्नकों (MIME), डेटा URI और API पेलोड के लिए मानक एन्कोडिंग है।

दोनों एन्कोडिंग RFC 4648 में परिभाषित हैं। उनके बीच रूपांतरण हानिरहित है: कोई डेटा जोड़ा या हटाया नहीं जाता, केवल पाठात्मक प्रस्तुतिकरण बदलता है। यह Base64-से-hex रूपांतरण को एन्क्रिप्टेड पेलोड की जाँच करने, प्रमाणपत्र फ़िंगरप्रिंट देखने, या विभिन्न प्रदर्शन फ़ॉर्मैट उपयोग करने वाले सिस्टम में हैश आउटपुट सत्यापित करने की एक नियमित प्रक्रिया बनाता है।

यह Base64 to Hex Converter क्यों उपयोग करें?

यह उपकरण आपके ब्राउज़र में सीधे Base64 और हेक्साडेसिमल के बीच रूपांतरण करता है। आपका कोई डेटा बाहर नहीं जाता, और रूपांतरण टाइप करते समय तत्काल होता है।

तत्काल रूपांतरण
Base64 या hex चिपकाएँ और परिणाम तुरंत देखें — किसी सर्वर पर अनुरोध की आवश्यकता नहीं। द्विदिशीय मोड एक क्लिक में दिशाएँ बदलने देता है।
🔒
गोपनीयता-प्रथम प्रसंस्करण
सभी रूपांतरण JavaScript का उपयोग करके आपके ब्राउज़र में स्थानीय रूप से चलते हैं। आपकी क्रिप्टोग्राफ़िक कुंजियाँ, हैश और टोकन कभी नेटवर्क पर प्रेषित नहीं होते।
द्विदिशीय मोड
एक बटन से Base64-से-hex और hex-से-Base64 के बीच बदलें। यह उपकरण मानक और URL-safe Base64 दोनों प्रकारों को स्वतः पहचानता और संभालता है।
📋
स्वच्छ आउटपुट, चिपकाने के लिए तैयार
आउटपुट बिना सीमांकक या उपसर्ग के लोअरकेस hex है — वह फ़ॉर्मैट जो अधिकांश API, CLI और प्रोग्रामिंग भाषाओं को अपेक्षित है। एक क्लिक में कॉपी करें।

Base64 to Hex के उपयोग के मामले

फ्रंटएंड डेवलपर
बाइनरी प्रोटोकॉल, WebSocket फ़्रेम, या ब्राउज़र DevTools कंसोल में ArrayBuffer सामग्री की जाँच करते समय Base64-एन्कोडेड API प्रतिक्रियाओं को hex में बदलें।
बैकएंड इंजीनियर
JWT हस्ताक्षर या HMAC प्रतिक्रियाओं से Base64 हैश डाइजेस्ट को hex में अनुवाद करें ताकि OpenSSL या hex प्रस्तुतिकरण उपयोग करने वाले डेटाबेस-संग्रहीत मानों से तुलना की जा सके।
DevOps / SRE
PEM फ़ाइलों से Base64 सार्वजनिक कुंजी को ब्राउज़र और निगरानी उपकरणों द्वारा प्रदर्शित hex फ़िंगरप्रिंट फ़ॉर्मैट में बदलकर TLS प्रमाणपत्र फ़िंगरप्रिंट सत्यापित करें।
सुरक्षा विश्लेषक
API ट्रैफ़िक में Base64 के रूप में आने वाली एन्क्रिप्शन कुंजियाँ और आरंभीकरण सदिश (IV) देखें — Wireshark या CyberChef में बाइट-स्तरीय विश्लेषण के लिए hex में बदलें।
डेटा इंजीनियर
डेटाबेस (PostgreSQL bytea, MongoDB BinData) से Base64-एन्कोडेड बाइनरी कॉलम को तुलना, लॉगिंग या स्थानांतरण स्क्रिप्ट के लिए hex में रूपांतरित करें।
विद्यार्थी / शिक्षार्थी
यह देखकर कि एक ही बाइट को प्रत्येक फ़ॉर्मैट में किस प्रकार दर्शाया जाता है, Base64 और हेक्साडेसिमल के बीच संबंध को समझें और एन्कोडिंग की मूल अवधारणाएँ सुदृढ़ करें।

Base64 बनाम Hexadecimal एन्कोडिंग

Base64 और हेक्साडेसिमल दोनों बाइनरी डेटा को प्रिंट करने योग्य पाठ में बदलते हैं, लेकिन वे संक्षिप्तता और पठनीयता के बीच अलग-अलग समझौते करते हैं। नीचे दी गई तालिका प्रमुख अंतरों का सारांश प्रस्तुत करती है।

गुणBase64Hexadecimal
वर्णमालाA-Z a-z 0-9 + / =0-9 a-f
प्रति वर्ण बिट64
आकार का अतिरिक्त भारकच्चे से ~33% अधिककच्चे से 100% अधिक
पठनीयतासंक्षिप्त किंतु अपारदर्शीप्रत्येक बाइट 2 वर्णों में दृश्यमान
प्राथमिक उपयोगईमेल, डेटा URI, APIक्रिप्टो हैश, MAC पते, रंग
विनिर्देशRFC 4648IEEE 754, RFC 4648 sec 8

रूपांतरण उदाहरण

नीचे दी गई तालिका उनके Base64 और हेक्साडेसिमल प्रस्तुतिकरण में समान बाइट अनुक्रम दिखाती है। ध्यान दें कि hex आउटपुट हमेशा बाइट गणना से ठीक दोगुना होता है, जबकि Base64 लंबाई ceil(byteCount / 3) * 4 के बराबर होती है।

इनपुट (पाठ / बाइट)Base64Hex
HelloSGVsbG8=48656c6c6f
ABQUI=4142
0xFFMHhGRg==30784646
AAE=0001
key=vala2V5PXZhbA==6b65793d76616c
Þ­¾ï (bytes)3q2+7w==deadbeef

रूपांतरण कैसे कार्य करता है

Base64 से हेक्साडेसिमल में रूपांतरण दो-चरण की प्रक्रिया है। पहले, Base64 स्ट्रिंग को प्रत्येक वर्ण को उसके 6-बिट मान से संगत करके, बिट जोड़कर और 8-बिट बाइट में विभाजित करके (पैडिंग हटाकर) कच्चे बाइट में डीकोड किया जाता है। यह चरण RFC 4648 Section 4 में परिभाषित एन्कोडिंग को उलटता है।

दूसरे, प्रत्येक बाइट को उसके दो-अंकीय हेक्साडेसिमल प्रस्तुतिकरण में बदला जाता है। 0-255 का बाइट मान 00-ff से संगत होता है। 0x4F (दशमलव 79) जैसा एक बाइट '4' और 'f' वर्ण बन जाता है। पूर्ण hex स्ट्रिंग केवल सभी दो-वर्ण युग्मों का संयोजन है। विपरीत दिशा (hex से Base64) इन चरणों को उल्टे क्रम में लागू करती है: hex युग्मों को बाइट में पार्स करें, फिर परिणाम को Base64-एन्कोड करें।

4-बिट बाइनरीHex अंक
00000
00011
00102
00113
01004
01015
01106
01117
10008
10019
1010a
1011b
1100c
1101d
1110e
1111f

कोड उदाहरण

ये चलाने योग्य कोड खंड दिखाते हैं कि JavaScript, Python, Go और कमांड लाइन में Base64 और hex के बीच कैसे रूपांतरण करें। प्रत्येक उदाहरण दोनों रूपांतरण दिशाओं को कवर करता है।

JavaScript (browser / Node.js)
// Base64 to Hex
function base64ToHex(b64) {
  const raw = atob(b64)
  return Array.from(raw, c =>
    c.charCodeAt(0).toString(16).padStart(2, '0')
  ).join('')
}
base64ToHex('SGVsbG8=') // → "48656c6c6f"

// Hex to Base64
function hexToBase64(hex) {
  const bytes = hex.match(/.{1,2}/g).map(b => parseInt(b, 16))
  return btoa(String.fromCharCode(...bytes))
}
hexToBase64('48656c6c6f') // → "SGVsbG8="

// Node.js Buffer shorthand
Buffer.from('SGVsbG8=', 'base64').toString('hex')   // → "48656c6c6f"
Buffer.from('48656c6c6f', 'hex').toString('base64')  // → "SGVsbG8="
Python
import base64, binascii

# Base64 to Hex
b64_str = 'SGVsbG8='
raw_bytes = base64.b64decode(b64_str)
hex_str = raw_bytes.hex()            # → '48656c6c6f'
# or: binascii.hexlify(raw_bytes).decode()

# Hex to Base64
hex_str = '48656c6c6f'
raw_bytes = bytes.fromhex(hex_str)
b64_str = base64.b64encode(raw_bytes).decode()  # → 'SGVsbG8='

# One-liner for quick conversion
base64.b64encode(bytes.fromhex('deadbeef')).decode()  # → '3q2+7w=='
Go
package main

import (
    "encoding/base64"
    "encoding/hex"
    "fmt"
)

func main() {
    // Base64 to Hex
    raw, _ := base64.StdEncoding.DecodeString("SGVsbG8=")
    hexStr := hex.EncodeToString(raw)
    fmt.Println(hexStr) // → "48656c6c6f"

    // Hex to Base64
    raw2, _ := hex.DecodeString("48656c6c6f")
    b64Str := base64.StdEncoding.EncodeToString(raw2)
    fmt.Println(b64Str) // → "SGVsbG8="
}
CLI (bash)
# Base64 to Hex (using base64 + xxd)
echo -n 'SGVsbG8=' | base64 -d | xxd -p
# → 48656c6c6f

# Hex to Base64
echo -n '48656c6c6f' | xxd -r -p | base64
# → SGVsbG8=

# OpenSSL alternative
echo -n 'SGVsbG8=' | openssl base64 -d | xxd -p
# → 48656c6c6f

अक्सर पूछे जाने वाले प्रश्न

Base64 और हेक्साडेसिमल में क्या अंतर है?
Base64 प्रति वर्ण 64 वर्ण और 6 बिट एन्कोड करता है, जिससे कच्चे बाइट की तुलना में लगभग 33% आकार का अतिरिक्त भार होता है। हेक्साडेसिमल प्रति वर्ण 16 वर्ण और 4 बिट एन्कोड करता है, जिससे 100% अतिरिक्त भार होता है — मूल आकार से ठीक दोगुना। Base64 अधिक संक्षिप्त है; hex अधिक मानव-पठनीय है क्योंकि प्रत्येक बाइट ठीक दो वर्णों से संगत होती है।
क्या Base64-से-hex रूपांतरण में डेटा हानि होती है?
नहीं। Base64 और hex दोनों एक ही अंतर्निहित बाइट के निर्धारक, प्रतिवर्ती एन्कोडिंग हैं। उनके बीच रूपांतरण डेटा को परिवर्तित, संपीड़ित या एन्क्रिप्ट नहीं करता। रूपांतरण से पहले और बाद में कच्चा बाइट अनुक्रम समान रहता है — केवल पाठात्मक प्रस्तुतिकरण बदलता है।
मेरा hex आउटपुट Base64 इनपुट से लंबा क्यों है?
Hex प्रति बाइट हमेशा 2 वर्ण उत्पन्न करता है, जबकि Base64 प्रति बाइट लगभग 1.33 वर्ण उत्पन्न करता है। 20 बाइट का मान 28 Base64 वर्ण है लेकिन 40 hex वर्ण। यह स्वाभाविक समझौता है: hex बड़ा है लेकिन प्रत्येक बाइट सीमा तुरंत दृश्यमान है।
क्या मैं Base64url (URL-safe Base64) को hex में बदल सकता/सकती हूँ?
हाँ। Base64url, + को - से और / को _ से बदलता है तथा पैडिंग हटाता है। यह उपकरण रूपांतरण से पहले स्वतः Base64url इनपुट को सामान्य करता है। कोड में, - को + से और _ को / से बदलें फिर डीकोड करने से पहले पैडिंग जोड़ें: परिणामी बाइट मानक Base64 के समान हैं।
SHA-256 हैश को Base64 से hex में कैसे बदलें?
64-वर्ण की hex स्ट्रिंग पाने के लिए Base64 हैश को इस उपकरण में चिपकाएँ। कोड में: Base64 स्ट्रिंग को बाइट में डीकोड करें (SHA-256 के लिए 32 बाइट), फिर उन बाइट को hex-एन्कोड करें। उदाहरण के लिए, Python में: bytes.fromhex विपरीत है — base64.b64decode(b64_hash).hex() आपको hex प्रस्तुतिकरण देता है।
यदि Base64 इनपुट में रिक्त स्थान या नई लाइन हो तो क्या होता है?
अधिकांश Base64 डीकोडर, इस उपकरण सहित, डीकोड करने से पहले रिक्त स्थान हटा देते हैं। PEM-एन्कोडेड प्रमाणपत्र और MIME-एन्कोडेड सामग्री आमतौर पर Base64 को प्रति पंक्ति 64 या 76 वर्णों पर लपेटती है। पंक्ति विराम एन्कोडेड डेटा का हिस्सा नहीं हैं और रूपांतरण के दौरान सुरक्षित रूप से अनदेखे किए जाते हैं।
Base64 की जगह hex का उपयोग कब करना चाहिए?
hex का उपयोग तब करें जब आपको बाइट-स्तरीय पठनीयता चाहिए — क्रिप्टोग्राफ़िक आउटपुट देखना, बाइनरी प्रोटोकॉल की जाँच करना, या रंग मान (#ff5733) निर्दिष्ट करना। Base64 का उपयोग तब करें जब संक्षिप्तता महत्वपूर्ण हो — JSON में डेटा एम्बेड करना, ईमेल (MIME) द्वारा प्रेषण, या डेटा URI बनाना। भंडारण और प्रेषण के लिए, Base64 hex की तुलना में लगभग 33% स्थान बचाता है।