Base64'ten Hex'e Dönüştürücü

Base64 ve onaltılık arasında dönüştürme

Base64

Hex

Yerel olarak çalışır · Gizli bilgi yapıştırmak güvenlidir
Sonuç burada görünecek…
Base64 → Hex

Base64'ten Hex'e Dönüşüm Nedir?

Base64'ten hex'e dönüşüm, iki yaygın ikili-metin kodlama şeması arasında veri dönüştürür. Base64, ikili veriyi 64 ASCII karakteri (A-Z, a-z, 0-9, +, /) kullanarak temsil eder; her 3 baytı 4 karakter olarak kodlar. Onaltılık sistem ise her baytı 16 sembolli alfabeden (0-9, a-f) tam olarak iki karakterle temsil eder. Bu formatlar arasında dönüşüm iki adımlı bir süreçtir: Base64 dizisini ham baytlarına çözümle, ardından bu baytları hedef formatta yeniden kodla.

Onaltılık gösterim, düşük seviyeli programlama, kriptografi ve ağ protokollerinde ikili verinin standart temsilidir. Her hex karakteri doğrudan 4 bitlik bir nibble'a karşılık gelir; bu da bireysel bayt değerlerini okumayı kolaylaştırır. Örneğin bir SHA-256 özeti neredeyse her zaman 64 karakterli bir hex dizisi olarak görüntülenir. Base64 ise daha kompakt olacak şekilde optimize edilmiştir — aynı özet Base64'te yalnızca 44 karakter kaplar — ve e-posta eklerinde (MIME), data URI'larında ve API yüklerinde standart kodlama olarak kullanılır.

Her iki kodlama da RFC 4648'de tanımlanmıştır. Aralarındaki dönüşüm kayıpsızdır: hiçbir veri eklenmez veya çıkarılmaz, yalnızca metinsel gösterim değişir. Bu durum, farklı görüntüleme formatları kullanan sistemlerde şifrelenmiş yükleri hata ayıklarken, sertifika parmak izlerini incelerken veya özet çıktılarını doğrularken Base64'ten hex'e dönüşümü rutin bir işlem haline getirir.

Bu Base64'ten Hex'e Dönüştürücü Neden Kullanılır?

Bu araç, Base64 ile onaltılık arasında dönüşümü doğrudan tarayıcınızda gerçekleştirir. Hiçbir veri makinenizi terk etmez ve dönüşüm siz yazarken gerçek zamanlı olarak gerçekleşir.

Anında Dönüşüm
Base64 veya hex yapıştırın, sonucu hemen görün — sunucuya gidiş-dönüş yok. Çift yönlü mod, tek tıkla yönler arasında geçiş yapmanızı sağlar.
🔒
Gizlilik Öncelikli İşleme
Tüm dönüşümler, JavaScript kullanılarak tarayıcınızda yerel olarak çalışır. Kriptografik anahtarlarınız, özetleriniz ve tokenlarınız hiçbir zaman ağ üzerinden iletilmez.
Çift Yönlü Mod
Tek bir düğmeyle Base64'ten hex'e ve hex'ten Base64'e geçiş yapın. Araç, hem standart hem de URL-güvenli Base64 varyantlarını otomatik olarak algılar ve işler.
📋
Temiz Çıktı, Yapıştırmaya Hazır
Çıktı, sınırlayıcı veya ön ek içermeyen küçük harfli hex'tir — çoğu API, CLI ve programlama dili tarafından beklenen format. Tek tıkla kopyalayın.

Base64'ten Hex'e Kullanım Senaryoları

Frontend Geliştirici
İkili protokolleri, WebSocket çerçevelerini veya tarayıcı DevTools konsolundaki ArrayBuffer içeriklerini hata ayıklarken Base64 ile kodlanmış API yanıtlarını hex'e dönüştürün.
Backend Mühendisi
JWT imzalarından veya HMAC yanıtlarından gelen Base64 özet değerlerini, hex gösterimiyle saklanan OpenSSL veya veritabanı değerleriyle karşılaştırmak için hex'e çevirin.
DevOps / SRE
PEM dosyalarındaki Base64 ortak anahtarını tarayıcılar ve izleme araçları tarafından gösterilen hex parmak izi formatına dönüştürerek TLS sertifika parmak izlerini doğrulayın.
Güvenlik Analisti
API trafiğinde Base64 olarak gelen şifreleme anahtarlarını ve başlangıç vektörlerini (IV) inceleyin — Wireshark veya CyberChef'te bayt düzeyinde analiz için hex'e dönüştürün.
Veri Mühendisi
Veritabanlarındaki (PostgreSQL bytea, MongoDB BinData) Base64 ile kodlanmış ikili sütunları karşılaştırma, kayıt tutma veya taşıma betikleri için hex'e dönüştürün.
Öğrenci / Öğrenen
Aynı baytların her formatta nasıl temsil edildiğini görerek Base64 ile onaltılık arasındaki ilişkiyi anlayın ve kodlama temellerini pekiştirin.

Base64 ve Onaltılık Kodlama Karşılaştırması

Base64 ve onaltılık her ikisi de ikili veriyi yazdırılabilir metne dönüştürür; ancak kompaktlık ile okunabilirlik arasında farklı dengeler kurarlar. Aşağıdaki tablo temel farklılıkları özetlemektedir.

ÖzellikBase64Hexadecimal
AlfabeA-Z a-z 0-9 + / =0-9 a-f
Karakter başına bit64
Boyut artışıHam veriden ~%33 daha büyükHam veriden %100 daha büyük
OkunabilirlikKompakt ama belirsizHer bayt 2 karakterle görünür
Birincil kullanımE-posta, data URI'ları, API'lerKripto özetleri, MAC adresleri, renkler
ŞartnameRFC 4648IEEE 754, RFC 4648 sec 8

Dönüşüm Örnekleri

Aşağıdaki tablo, aynı bayt dizilerinin Base64 ve onaltılık gösterimlerini karşılaştırır. Hex çıktısının her zaman bayt sayısının tam iki katı olduğuna dikkat edin; Base64 uzunluğu ise ceil(byteCount / 3) * 4'e eşittir.

Giriş (metin / bayt)Base64Hex
HelloSGVsbG8=48656c6c6f
ABQUI=4142
0xFFMHhGRg==30784646
AAE=0001
key=vala2V5PXZhbA==6b65793d76616c
Þ­¾ï (bytes)3q2+7w==deadbeef

Dönüşüm Nasıl Çalışır?

Base64'ten onaltılığa dönüşüm iki aşamalı bir süreçtir. Önce Base64 dizisi, her karakteri 6 bitlik değerine eşleyerek, bitleri birleştirerek ve 8 bitlik baytlara bölerek (dolguyu atarak) ham baytlarına çözümlenir. Bu adım, RFC 4648 Bölüm 4'te tanımlanan kodlamayı tersine çevirir.

İkinci aşamada her bayt, iki basamaklı onaltılık gösterimine dönüştürülür. 0-255 arasındaki bayt değeri 00-ff ile eşleşir. Örneğin 0x4F (ondalık 79) baytı '4' ve 'f' karakterlerine dönüşür. Tam hex dizisi, tüm iki karakterli çiftlerin birleşimidir. Ters yön (hex'ten Base64'e) bu adımları ters sırayla uygular: hex çiftlerini baytlara dönüştür, ardından sonucu Base64 ile kodla.

4-bit ikiliHex hanesi
00000
00011
00102
00113
01004
01015
01106
01117
10008
10019
1010a
1011b
1100c
1101d
1110e
1111f

Kod Örnekleri

Bu çalıştırılabilir kod parçacıkları, JavaScript, Python, Go ve komut satırında Base64 ile hex arasında nasıl dönüşüm yapılacağını gösterir. Her örnek her iki dönüşüm yönünü de kapsar.

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

Sıkça Sorulan Sorular

Base64 ile onaltılık arasındaki fark nedir?
Base64, 64 karakter kullanır ve karakter başına 6 bit kodlar; bu da ham baytlara kıyasla yaklaşık %33 boyut artışına yol açar. Onaltılık 16 karakter kullanır ve karakter başına 4 bit kodlar; bu da %100 artış anlamına gelir — orijinal boyutun tam iki katı. Base64 daha kompakttır; hex ise her baytın tam olarak iki karaktere karşılık gelmesi nedeniyle daha kolay okunabilir.
Base64'ten hex'e dönüşüm kayıplı mıdır?
Hayır. Hem Base64 hem de hex, aynı temel baytların deterministik, geri döndürülebilir kodlamalarıdır. Aralarında dönüşüm yapmak veriyi değiştirmez, sıkıştırmaz veya şifrelemez. Ham bayt dizisi dönüşüm öncesinde ve sonrasında aynıdır — yalnızca metinsel gösterim değişir.
Hex çıktım neden Base64 girişinden daha uzun?
Hex her zaman bayt başına 2 karakter üretirken, Base64 bayt başına yaklaşık 1,33 karakter üretir. 20 baytlık bir değer, 28 Base64 karakterine karşılık 40 hex karakteridir. Bu kaçınılmaz bir dengedir: hex daha büyüktür ama her bayt sınırı hemen görünür.
Base64url (URL-güvenli Base64) değerini hex'e dönüştürebilir miyim?
Evet. Base64url, + yerine - ve / yerine _ kullanır; dolguyu da atlar. Bu araç, dönüşüm öncesinde Base64url girişini otomatik olarak normalleştirir. Kodda, çözümlemeden önce - yerine + ve _ yerine / koyun, ardından dolgu ekleyin: elde edilen baytlar standart Base64 ile aynıdır.
SHA-256 özetini Base64'ten hex'e nasıl dönüştürürüm?
64 karakterlik hex dizesini elde etmek için Base64 özetini bu araca yapıştırın. Kodda: Base64 dizisini baytlara çözümleyin (SHA-256 için 32 bayt), ardından bu baytları hex olarak kodlayın. Örneğin Python'da: bytes.fromhex ters işlemi yapar — base64.b64decode(b64_hash).hex() size hex gösterimini verir.
Base64 girişi boşluk veya satır sonu içerirse ne olur?
Bu araç dahil çoğu Base64 çözücü, çözümleme öncesinde boşlukları temizler. PEM ile kodlanmış sertifikalar ve MIME ile kodlanmış içerik, Base64'ü genellikle satır başına 64 veya 76 karakterde sarmalar. Satır sonları kodlanmış verinin bir parçası değildir ve dönüşüm sırasında güvenle yok sayılır.
Hex'i Base64 yerine ne zaman kullanmalıyım?
Kriptografik çıktıları inceleme, ikili protokolleri hata ayıklama veya renk değerleri belirtme (#ff5733) gibi bayt düzeyinde okunabilirliğe ihtiyaç duyduğunuzda hex kullanın. Veriyi JSON içine gömme, e-posta (MIME) üzerinden iletme veya data URI oluşturma gibi kompaktlığın önemli olduğu durumlarda Base64 kullanın. Depolama ve iletim açısından Base64, hex'e kıyasla yaklaşık %33 alan tasarrufu sağlar.