logo
GeekFormat

Base64-Hex Dönüştürücü

Hex Access
0 karakter

Onaltılı dizeler ile Base64 kodlaması arasında çift yönlü dönüşüm için çevrimiçi Base64-Hex dönüştürücü. 0x önekini kaldırma, büyük/küçük harf geçişi, gerçek zamanlı dönüşüm ve verileri sunucuya göndermeden tarayıcıda yerel işleme özellikleri.

İlgili Öneriler

Kullanım senaryoları

  • Wireshark paket analizi: Ağ paketlerinin onaltılı dökümlerini API'ye veya belgelendirmeye iletmek için Base64'e dönüştürme
  • Ağ protokollerinde hata ayıklama: İkili protokolleri incelerken Hex ile Base64 arasında hızlı dönüşüm
  • Kriptografik araştırmalar: Anahtarları, karmaları ve imzaları onaltılı format ile Base64 arasında dönüştürme
  • API geliştirme: JSON isteklerinde iletmek için ikili verileri Base64'e ve hata ayıklama için tekrar Hex'e dönüştürme
  • Zararlı yazılım analizi: Ayrıştırıcılardan ve hata ayıklayıcılardan gelen onaltılı dökümleri işleme
  • Sertifikalarla çalışma: PEM/DER sertifikalarını ve anahtarlarını metin formatları arasında dönüştürme
  • Veri kurtarma: Bozuk dosyaların Hex dökümlerini Base64'e ve geriye dönüştürme
  • Webhook testi: İkili yükleri onaltılı gösterimlerden Base64 formatında hazırlama
  • Günlük karşılaştırma: Farklı kodlama formatlarında kaydedilmiş günlüklerdeki verileri karşılaştırma
  • IoT veri işleme: MQTT/CoAP iletilerinin ikili gövdelerini Hex ile Base64 arasında dönüştürme
  • Adli bilişim: Bellek ve disklerin onaltılı görüntülerini uygun kodlama geçişiyle analiz etme
  • Ağ teknolojileri eğitimi: Bayt başına ve kompakt metin gösterimi arasındaki ilişkiyi görsel olarak inceleme

Özellikler

  • Çift yönlü dönüşüm: Tek bir araçta Hex'ten Base64'e ve Base64'ten Hex'e anında yön değiştirerek dönüşüm
  • 0x önekini kaldırma: Giriş sırasında onaltılı dizelerden 0x önekini otomatik algılama ve kaldırma
  • Büyük/küçük harf anahtarı: Belirli bir protokolün gereksinimlerine göre Hex karakterleri için büyük veya küçük harf çıktısı seçme
  • Gerçek zamanlı dönüşüm: Sonuç, düğmeye basmadan ve gecikme olmadan giriş yapılır yapılmaz görünür
  • Yerel işleme: Tüm hesaplamalar tarayıcıda yapılır, veriler cihazınızdan dışarı çıkmaz
  • Ayraç desteği: Hex dizelerindeki boşlukları, satır sonlarını ve diğer ayraçları otomatik olarak tanıma
  • Wireshark modu: Wireshark ve diğer paket çözümleyicilerinden gelen onaltılı dökümlerle doğrudan uyumluluk
  • Tek tıkla kopyalama: API parametrelerinde veya belgelendirmede kullanmak için sonucu panoya kopyalama
  • Doğruluk kontrolü: Hatalı verilerde anlaşılır hata mesajlarıyla yerleşik giriş doğrulaması
  • Gerçek zamanlı istatistikler: Kontrol amacıyla bayt sayısını, giriş ve çıkış karakter sayısını gösterme
  • RFC 4648 uyumluluğu: RFC 4648 belirtimine göre Base64 kodlama standardına uygunluk
  • İç içe kodlama desteği: Veri kaybı olmadan formatlar arasında çoklu dönüşüm yapabilme
  • Oturum geçmişi: Hızlı yeniden erişim için son dönüşümleri otomatik kaydetme
  • Uyarlanabilir arayüz: Hem masaüstünde hem de mobil cihazlarda rahat çalışma

Nasıl Kullanılır

  1. Dönüşüm yönünü seçin: Hex'ten Base64'e veya Base64'ten Hex'e
  2. Verileri ilgili giriş alanına yapıştırın — dönüşüm gerçek zamanlı olarak otomatik başlar
  3. Gerekirse seçenekleri etkinleştirin: 0x önekini kaldırma veya Hex büyük/küçük harfe geçiş
  4. Çıkış alanındaki sonucu kontrol edin ve istatistiklere göre dönüşümün doğruluğundan emin olun
  5. Sonraki kullanım için sonucu tek tıkla kopyalayın

Sık Sorulan Sorular

Hex ile Base64 arasındaki fark nedir?

Hex (Base16) bayt başına 2 karakter kullanır (%100 ek yük), bayt başına analiz ve hata ayıklama için uygundur. Base64 ise 3 bayt başına 4 karakter kullanır (~%33 ek yük), ikili verileri metin protokolleri üzerinden iletmek ve JSON/HTML'e gömmek için daha uygundur.

Neden Hex'ten Base64'e dönüşüm yapılır?

Bu çoğunlukla API hata ayıklama sırasında gerekir: Wireshark ve ayrıştırıcılar verileri Hex olarak gösterir, ancak JSON isteklerinde iletmek için Base64 gerekir. Hex→Base64 dönüşümü ayrıca kriptografik anahtarlar, karmalar ve webhook'ların ikili yükleriyle çalışırken kullanılır.

Neden Base64'ten Hex'e dönüşüm yapılır?

Base64→Hex dönüşümü, verilerin görsel analizi için gereklidir: Hex biçiminde ikili protokollerin yapısını incelemek, baytları Wireshark dökümleriyle karşılaştırmak, dosya imzalarını bulmak ve kriptografik işlemlerde hata ayıklamak daha kolaydır.

0x önekinin kaldırılması destekleniyor mu?

Evet. Araç, giriş Hex dizelerinden 0x önekini (herhangi bir büyük/küçük harf kombinasyonunda) otomatik olarak algılar ve kaldırır. Örneğin, 0xDEADBEEF dizesi, öneki olmayan sürümü gibi doğru şekilde işlenir.

Hex doğrudan Wireshark'tan kopyalanabilir mi?

Evet. Wireshark, paketleri boşluklu 2 Hex basamaklı gruplar halinde görüntüler. Araç, boşlukları ve satır sonlarını otomatik olarak yok sayar, böylece Wireshark'tan dökümü seçip ek temizleme yapmadan kopyalayabilirsiniz.

Hex çıktısında varsayılan olarak hangi büyük/küçük harf kullanılır?

Varsayılan olarak küçük harf kullanılır (çoğu Unix aracının ve Wireshark'ın çıktısı gibi), ancak protokol, sertifika veya başka bir yazılım gerektiriyorsa büyük harfe geçebilirsiniz.

Base64'te dolgu (padding) nedir?

Dolgu, Base64 dizesinin sonundaki = karakterleridir ve çıktıyı 4'ün katlarına tamamlar. Giriş bayt sayısının üçün katı olmadığında dolgu eklenir. Araç, RFC 4648'e göre varsayılan olarak dolguyu korur.

Sonuç API isteklerinde kullanılabilir mi?

Evet. Base64 çıktısı JSON, formlar ve diğer metin tabanlı API parametrelerine yapıştırılmaya hazırdır. Hex çıktısı ise hata ayıklama araçlarında, testlerde ve belgelendirmede kullanıma hazırdır.

Giriş verisi boyutuyla ilgili bir sınırlama var mı?

Sınırlama tarayıcınızın performansına bağlıdır. Tipik senaryo — birkaç megabayta kadar verilerle (anahtarlar, jetonlar, ağ paketleri, dosya parçaları) çalışmak — sorun yaratmaz.

Hex ve Base64 çıktıları neden farklı uzunluktadır?

Hex her bayt için 2 karakter kullanır, Base64 ise her 3 bayt için 4 karakter kullanır. Bu nedenle aynı veriler için Base64, Hex'ten yaklaşık %25 daha kısadır. Giriş alanlarının altındaki istatistikler gerçek bayt sayısını gösterir.

URL-Safe Base64 destekleniyor mu?

Mevcut sürümde, + ve / karakterleriyle RFC 4648'e göre standart Base64 kodlaması kullanılmaktadır. URL-Safe varyantı (+ ve / yerine - ve _ ile) için özel Base64 URL-Safe aracını kullanın.

Geçersiz giriş verileri işleniyor mu?

Evet. Geçersiz Hex karakterleri veya hatalı Base64 dizesi girildiğinde, araç sorunun konumunu ve niteliğini belirten anlaşılır bir hata mesajı görüntüler.

Veriler sunucuya gönderiliyor mu?

Hayır. Tüm dönüşümler yerel JavaScript API'leri (TextEncoder, atob, UTF-8 düzeltmeli btoa) kullanılarak tarayıcınızda yerel olarak gerçekleştirilir. Veriler ağ üzerinden gönderilmez.

Büyük dosyalar dönüştürülebilir mi?

Araç, metin temsili verileriyle (paketler, anahtarlar, jetonlar) çalışmak için optimize edilmiştir. Dosyalar için özel File to Base64 ve File Hash araçlarını kullanın.

Ayrı Hex ve Base64 araçlarından farkı nedir?

Bu araç, özellikle hata ayıklama sırasında iki format arasında sık sık geçiş yapma senaryosu için oluşturulmuştur. Paket ve protokol analizi için gereken özellikleri destekler: 0x kaldırma, ayraçları yok sayma, büyük/küçük harf geçişi ve tek arayüzde çift yönlülük.

Base64-Hex dönüştürücü nedir?

Base64-Hex dönüştürücü, baytların onaltılı (Hex) gösterimi ile Base64 kodlaması arasında çift yönlü dönüşüm için bir araçtır. Her iki format da ikili verileri metin biçiminde temsil etmek için kullanılır, ancak farklı amaçlara hizmet eder: Hex, hata ayıklama ve analiz için ideal olan bayt başına okunabilir bir görünüm sağlarken, Base64 metin protokolleri üzerinden iletim için kompakt bir temsil sunar.

**Hex (Base16)** her baytı iki onaltılı basamakla (0-9, A-F veya a-f) kodlar ve bu da %100 ek yüke neden olur (bayt başına 2 karakter). Bu format, tek tek baytların kolayca okunmasını sağladığı için paket analizinde (Wireshark, tcpdump), hata ayıklayıcılarda, onaltılı düzenleyicilerde ve kriptografik işlevlerin çıktısında baskındır.

**Base64** (RFC 4648), her 3 baytı A-Z, a-z, 0-9, +, / alfabesinden 4 karaktere (dolgu ile =) kodlar ve yaklaşık %33 ek yük sağlar. Base64, ikili verilerin metin kanalları üzerinden güvenli iletiminin gerektiği JSON, e-posta (MIME), Data URI, JWT ve HTTP Basic Auth'ta ikili verileri gömmek için kullanılan standarttır.

**0x öneki**, programlama dillerinde (C, Python, JavaScript) ve günlüklerde onaltılı sabitleri belirtmek için sıklıkla kullanılır (örneğin, 0xDEADBEEF). Araç, bu öneki giriş sırasında otomatik olarak algılar ve kaldırır, böylece dönüşüm manuel temizleme olmadan doğru şekilde çalışır.

Hex'teki **büyük/küçük harf anahtarı**, farklı sistemlerle çalışırken önemlidir: bazı protokoller ve araçlar büyük harf (örneğin, sertifikalar, bazı karmalar), diğerleri küçük harf (örneğin, Wireshark çıktısı, Unix araçları) bekler. Araç, tek tıkla büyük/küçük harf arasında geçiş yapmanızı sağlar.

**Wireshark** ve diğer paket çözümleyiciler, verileri ayraçlı Hex formatında görüntüler (baytlar arasında boşluklarla 2 karakterlik gruplar). Dönüştürücü bu tür ayraçları otomatik olarak işler ve Wireshark'tan doğrudan döküm kopyalayıp manuel ön işleme yapmadan doğru Base64 elde etmenizi sağlar.

**Gerçek zamanlı dönüşüm**, giriş verilerindeki herhangi bir değişiklikte sonucun düğmeye basmadan otomatik olarak yeniden hesaplanması anlamına gelir. Bu, özellikle protokol hata ayıklarken birçok değeri art arda hızlıca kontrol etmeniz gerektiğinde kullanışlıdır.

**Yerel işleme**, tüm dönüşümlerin yerleşik JavaScript API'leri kullanılarak yalnızca tarayıcınızda gerçekleştirildiğini garanti eder. Veriler sunucuya gönderilmez; bu da hassas bilgilerle (anahtarlar, jetonlar, paket içerikleri) çalışırken gizlilik sağlar.

术语表

Hex (Base16)
Her baytı 0-9 ve A-F (veya a-f) aralığından iki karakterle temsil eden onaltılı kodlama. Hata ayıklayıcılarda, paket çözümleyicilerde ve kriptografide ikili verileri bayt başına görüntülemek için kullanılır.
Base64
64 yazdırılabilir karakter (A-Z, a-z, 0-9, +, /) ve dolgu karakteri = kullanan RFC 4648'e göre ikili-metin kodlaması. Her 3 baytı 4 karaktere kodlar ve yaklaşık %33 ek yük sağlar.RFC 4648
RFC 4648
Base16 (Hex), Base32 ve Base64 kodlamalarını, karakter alfabelerini, dolgu kurallarını ve URL-Safe varyantını tanımlayan IETF standardı.RFC 4648
0x öneki
Programlama dillerinde (C, C++, Python, Java, JavaScript, Rust ve diğerleri) onaltılı sabitleri belirtmek için yaygın olarak kabul edilen gösterim. 0xFF dizesi ondalık 255 sayısını ifade eder.
Wireshark
Yakalanan paketleri baytlar arasında boşluklarla onaltılı formatta görüntüleyen popüler ağ protokol çözümleyicisi. Ağ etkileşimlerinde hata ayıklarken Base64-Hex dönüştürücüyle birlikte sıklıkla kullanılır.
Base64 dolgusu
Base64 dizesinin sonundaki = karakterleri, çıktı uzunluğunu 4'ün katlarına tamamlar. Giriş verileri 3 baytın katı olmadığında eklenir. Örneğin, 1 bayt → 2 karakter + ==, 2 bayt → 3 karakter + =.
Yerel işleme
Tüm veri işlemlerinin uzak sunucuya gönderilmeden kullanıcının tarayıcısında gerçekleştirildiği yürütme modeli. Gizlilik ve ağ gecikmesi olmaması sağlar.
Kodlama ek yükü
Kodlama sırasında veri boyutundaki artış. Hex %100 ek yüke sahiptir (boyutun iki katı), Base64 ise yaklaşık %33. Bu, ikili verileri metin biçiminde temsil etmenin bedelidir.
Çift yönlü dönüşüm
Verileri A formatından B formatına ve bilgi kaybı olmadan geriye dönüştürebilme yeteneği. Base64-Hex dönüştürücü her iki yönü de destekler: Hex→Base64 ve Base64→Hex.
Bayt akışı
İkili verileri oluşturan bayt dizisi. Hex, her baytı bir çift karakterle temsil eder, böylece bayt akışı insan tarafından okunabilir ve bayt başına karşılaştırılabilir hale gelir.
URL-Safe Base64
+ ve / karakterlerinin - ve _ ile değiştirildiği ve = dolgusunun genellikle atlandığı RFC 4648 §5'e göre Base64 varyantı. JWT, OAuth PKCE, URL'ler ve dosya adlarında kullanılır.
atob / btoa
Base64 kodunu çözmek ve kodlamak için tarayıcının yerleşik işlevleri. Yalnızca Latin-1'i (karakter başına 1 bayt) desteklerler, bu nedenle UTF-8 ile doğru çalışmak için TextEncoder/TextDecoder aracılığıyla ek işlem gerekir.

Hex ve Base64 Karşılaştırması

ÖzellikHex (Base16)Base64
Alfabe0-9, A-F (16 karakter)A-Z, a-z, 0-9, +, / (64 karakter)
Bayt başına karakter23 bayt başına 4 (~1.33)
Ek yük%100 (iki kat)~%33
StandartRFC 4648 §8RFC 4648 §4
DolguGerekmezSonda =
Ana kullanımHata ayıklama, paket analizi, karmalarJSON, MIME, Data URI, JWT
AyraçlarGenellikle baytlar arasında boşlukluAyraçsız

Dönüşüm Örnekleri

Orijinal metinHex (küçük)Base64
Hello48656c6c6fSGVsbG8=
A41QQ==
AB4142QUI=
ABC414243QUJD
test74657374dGVzdA==

Hex ve Base64 Uzunluk Eşleşmesi

Bayt sayısıHex uzunluğuBase64 uzunluğu (dolgulu)
124 (2 karakter + ==)
244 (3 karakter + =)
364 (dolgusuz)
6128 (dolgusuz)
N2×Nceil(N/3)×4

Code Examples

JavaScript: Hex ↔ Base64 (UTF-8)

// Hex → Base64
function hexToBase64(hex) {
  hex = hex.replace(/^0x/i, '').replace(/\s/g, '');
  const bytes = new Uint8Array(hex.match(/[\da-f]{2}/gi).map(h => parseInt(h, 16)));
  let binary = '';
  bytes.forEach(b => binary += String.fromCharCode(b));
  return btoa(binary);
}

// Base64 → Hex
function base64ToHex(b64, uppercase = false) {
  const binary = atob(b64);
  const hex = [...binary].map(c => c.charCodeAt(0).toString(16).padStart(2, '0')).join('');
  return uppercase ? hex.toUpperCase() : hex;
}

console.log(hexToBase64('48656c6c6f')); // SGVsbG8=
console.log(base64ToHex('SGVsbG8='));  // 48656c6c6f

Python: Hex ↔ Base64

import base64

# Hex → Base64
def hex_to_b64(hex_str: str, strip_0x: bool = True) -> str:
    if strip_0x and hex_str.startswith('0x'):
        hex_str = hex_str[2:]
    hex_str = hex_str.replace(' ', '').replace('\n', '')
    return base64.b64encode(bytes.fromhex(hex_str)).decode()

# Base64 → Hex
def b64_to_hex(b64_str: str, uppercase: bool = False) -> str:
    h = base64.b64decode(b64_str).hex()
    return h.upper() if uppercase else h

print(hex_to_b64('48656c6c6f'))  # SGVsbG8=
print(b64_to_hex('SGVsbG8='))   # 48656c6c6f

Java: Hex ↔ Base64

import java.util.HexFormat;
import java.util.Base64;

public class HexBase64 {
    public static String hexToBase64(String hex) {
        hex = hex.replaceFirst("^0[xX]", "").replaceAll("\\s+", "");
        byte[] bytes = HexFormat.of().parseHex(hex);
        return Base64.getEncoder().encodeToString(bytes);
    }

    public static String base64ToHex(String b64, boolean uppercase) {
        byte[] bytes = Base64.getDecoder().decode(b64);
        String hex = HexFormat.of().formatHex(bytes);
        return uppercase ? hex.toUpperCase() : hex;
    }

    public static void main(String[] args) {
        System.out.println(hexToBase64("48656c6c6f"));     // SGVsbG8=
        System.out.println(base64ToHex("SGVsbG8=", false)); // 48656c6c6f
    }
}

Privacy & Security

Base64-Hex dönüştürücü tamamen tarayıcınızda çalışır. Tüm dönüşümler — Hex'ten Base64'e ve Base64'ten Hex'e, 0x önekini kaldırma, büyük/küçük harf geçişi — yerleşik JavaScript API'leri kullanılarak yerel olarak gerçekleştirilir. Hiçbir veri sunucuya gönderilmez, saklanmaz veya üçüncü taraflara iletilmez.

Authoritative References

Troubleshooting