Hex to text çevirici nasıl kullanılır?
- Hex dizenizi yapıştırın, örn.
48 65 6C 6C 6F,0x48,0x65veya\x48\x65. Ayırıcılar karışık da olabilir. - Çözülen metin anında görünür. Karakterler hatalı görünüyorsa başka bir kodlama seçin: UTF-8, ASCII/Latin-1 veya UTF-16.
- Metni kopyalayın ya da dosya olarak indirin. Metni tekrar hex'e çevirmek için yön değiştirme düğmesine basın.
Hex'ten ASCII'ye çözme nasıl çalışır?
Her hex basamak çifti, 00 ile FF arasında değeri olan bir bayttır. ASCII ve UTF-8'de 20–7E arasındaki baytlar yazdırılabilir karakterlerdir; bu yüzden 48 65 6C 6C 6F H, e, l, l, o yani “Hello” olarak okunur. ASCII dışındaki karakterler UTF-8'de birkaç bayt kaplar.
| Hex | Karakter |
|---|---|
0A | Satır besleme (yeni satır) |
0D | Satır başı (carriage return) |
20 | Boşluk |
21 / 2C / 2E | ! / , / . |
30–39 | 0–9 rakamları |
41–5A | A–Z büyük harfler |
61–7A | a–z küçük harfler |
C3 A9 | UTF-8'de é |
E2 82 AC | UTF-8'de € |
Doğru karakter kodlamasını seçme
- UTF-8 – web'de ve çoğu dosya ile API'de standarttır. Düz ASCII metin aynı zamanda geçerli bir UTF-8 metindir.
- ASCII / Latin-1 (Windows-1252) – eski sistemlerden gelen Batı Avrupa dillerindeki metinler için karakter başına bir bayt. Her bayt bir karaktere karşılık geldiği için çözme asla başarısız olmaz. Türkçedeki ş, ğ ve ı harfleri bu kodlamada bulunmaz.
- UTF-16 LE/BE – karakter başına iki bayt; Windows API'leri, Java ve JavaScript dizeleri tarafından kullanılır:
48 00 69 00, UTF-16 LE'de “Hi” demektir.
� sembolleri görüyorsanız bazı baytlar seçilen kodlamada geçerli değildir – ya da hex, metin değil; görsel, hash veya sıkıştırılmış veri gibi ikili veridir.
Kodda hex'ten string'e çevirme
- Python:
bytes.fromhex('48656c6c6f').decode() - Node.js:
Buffer.from('48656c6c6f', 'hex').toString() - Tarayıcıda JavaScript:
new TextDecoder().decode(Uint8Array.from('48656c6c6f'.match(/../g), (h) => parseInt(h, 16))) - Linux ve macOS:
echo 48656c6c6f | xxd -r -p
Sıkça sorulan sorular
Hex to text ile hex to ASCII arasındaki fark nedir?
ASCII 128 karakteri kapsar (00–7F baytları): İngilizce harfler, rakamlar ve noktalama işaretleri. Hex to text ise UTF-8'in 2–4 baytta sakladığı diğer dillerin karakterlerini ve emojileri de içerir; Türkçedeki ç, ş, ğ, ı, ö, ü harfleri de bunlara dahildir. Düz İngilizce metinde ikisi de aynı sonucu verir.
Neden eksik bayt hatası alıyorum?
Her bayt tam olarak iki hex basamağı gerektirir. Tek sayıda basamak genellikle baştaki bir sıfırın eksik olduğu (0A yazın, A değil) ya da kopyalama sırasında bir karakterin kaybolduğu anlamına gelir. Hata mesajı sorunun nerede olduğunu gösterir.
0x veya \x önekli hex çözülebilir mi?
Evet. 0x, \x ve % gibi önekler ile boşluklar, satır sonları, virgüller, iki noktalar ve tireler otomatik olarak kaldırılır; böylece C dizileri, Python bayt dizeleri ve hex dump'lar doğrudan yapıştırılabilir.
Verilerim bir yere yükleniyor mu?
Hayır. Hex, tarayıcınızda JavaScript ile çözülür ve cihazınızdan hiçbir zaman çıkmaz.