Hex Kodlayıcı ve Kod Çözücü (Base16)

Metni, dosyaları veya ham baytları onaltılık sisteme dönüştürün ve geri çevirin. Harf büyüklüğünü, bir ayırıcıyı ve 0x ya da \x önekini seçin; kod çözücü yaygın hex biçimlerini sizin için temizler.

Tamamen tarayıcınızda çalışır. Hiçbir veri yüklenmez.

Nasıl kullanılır

  1. Metni hex'e dönüştürmek için "Kodla", hex'i yeniden metne dönüştürmek için "Kodu çöz" seçeneğini seçin.
  2. Girdiyi yazın veya yapıştırın ya da baytlarını hex olarak görmek için bir dosya açın.
  3. Seçenekleri belirleyin: "Büyük harf", "Ayırıcı" ("Yok", "Boşluk" veya "İki nokta") ve "Önek" ("Yok", 0x veya \x).
  4. Sonucu kopyalayın veya dosya olarak indirin.

Onaltılık (Base16) nedir?

Onaltılık sistem (hex) on altı sembol kullanır: 0-9 rakamları ve A-F harfleri. Bir hex basamağı dört bit taşır; bu nedenle her bayt 00'dan FF'ye kadar tam iki basamakla yazılır. Çıktı girdinin iki katı boyutundadır, yani Base64 veya Base32 çıktısından daha büyüktür; ancak bayt sınırları görünür kalır. Hata ayıklayıcıların, hex düzenleyicilerin ve ağ araçlarının veriyi bu şekilde göstermesinin nedeni budur.

RFC 4648 bu kodlamayı büyük harfli bir alfabeyle ve dolgusuz olarak Base16 adıyla standartlaştırır. Uygulamada küçük harfler de bir o kadar yaygındır ve bu araç da dahil olmak üzere kod çözücüler her ikisini de kabul eder.

Hex nerelerde kullanılır?

  • Hash değerleri ve anahtarlar. Bir SHA-256 özeti 32 bayttır ve 64 hex basamağı olarak yazılır. Kriptografik anahtarlar, UUID'ler ve sağlama toplamları da genellikle hex olarak gösterilir.
  • Donanım adresleri. MAC adresleri hex biçiminde altı bayttır ve normalde iki nokta ile ayrılır. "İki nokta" ayırıcısı tam olarak bu biçimi üretir.
  • Kaçış dizileri. C, Python ve JavaScript dizeleri tek bir bayt için \x ve ardından iki hex basamağını kabul eder; \x önek seçeneği de tam olarak bunu yazar.
  • Web biçimleri. #FF8800 gibi CSS renkleri hex biçiminde üç bayttır; URL yüzde kodlaması da baytları % ve iki hex basamağı olarak yazar.

Hex kodunu metne çözme

Kod çözücü biçimlendirme konusunda hoşgörülüdür. Büyük ve küçük harfli basamakları kabul eder; boşlukları, satır sonlarını, virgülleri, iki nokta işaretlerini, noktalı virgülleri ve kısa çizgileri yok sayar; 0x, \x, % ve &#x öneklerini kaldırır. xxd -p çıktısı, MAC adresleri, UUID'ler, virgülle ayrılmış 0x listeleri, %XX kaçışları ve HTML hex varlıkları olduğu gibi yapıştırılabilir. Her bayt iki basamak gerektirdiğinden tek sayıda basamak hata olarak bildirilir. Baytlar, seçilen metin kodlamasıyla metin olarak gösterilir.

Hex'i metinden geçmeden başka bir kodlamaya dönüştürmek için Hex'ten Base64'e veya Base64'ten Hex'e araçlarını kullanın.

Kodda hex

# Python
'Hi'.encode().hex()                 # '4869'
bytes.fromhex('4869').decode()      # 'Hi'

// Node.js
Buffer.from('Hi').toString('hex')             // '4869'
Buffer.from('4869', 'hex').toString('utf8')   // 'Hi'

# Shell
printf 'Hi' | xxd -p                # 4869

Teknik özellikler

Alfabe0-9 A-F
Çıktı boyutuBayt başına 2 karakter (%200)
DolguYok
StandartRFC 4648, bölüm 8
Büyük/küçük harf duyarlıHayır

Örnekler

Girdi (UTF-8)Çıktı
Hello, World!48656c6c6f2c20576f726c6421
Base64.is4261736536342e6973
你好e4bda0e5a5bd

Sıkça sorulan sorular

Hex'i metne nasıl dönüştürürüm?

"Kodu çöz" moduna geçin ve hex değerini yapıştırın. Boşluklar, iki nokta işaretleri ve 0x ya da \x önekleri otomatik olarak kaldırılır; başka bir metin kodlaması seçmediğiniz sürece baytlar UTF-8 metni olarak gösterilir.

Hex büyük harfle mi, küçük harfle mi yazılmalı?

Her ikisi de aynı baytları temsil eder. RFC 4648 büyük harf kullanırken birçok programlama dili küçük harf yazdırır. Hedef sisteminiz büyük harf bekliyorsa "Büyük harf" seçeneğini açın; kod çözücü her ikisini de kabul eder.

Hex neden orijinalin iki katı uzunlukta?
Her bayt iki karaktere dönüşür; bu da %100'lük bir artış demektir. Base64 ise yalnızca yaklaşık %33 ekler. Boyut önemliyse baytları Hex'ten Base64'e aracıyla dönüştürün.
Bu, bir sayıyı hex'e dönüştürmekle aynı şey mi?
Tam olarak değil. Bu araç, bir metnin baytları gibi bir bayt dizisini kodlar. Tek bir tam sayıyı, örneğin 255'i FF'ye dönüştürmek için sayı tabanı dönüştürücüsünü kullanın.