Metin ↔ Hex Çevirici
Metni onaltılık (hex) koda çevirin, hex kodu tekrar okunur metne dönüştürün — UTF-8 uyumlu, tamamen tarayıcıda.
1.066 görüntülenme
Metinden Hex'e
Hex'ten Metne
Metin-Hex Dönüşümü Nasıl Çalışır?
Onaltılık (hex) sistem, taban-16 pozisyonel bir sayı sistemidir: 16 sembol (0-9, sonra 10-15 için A-F) kullanır ve her basamağın konumu 16'nın bir kuvveti değerindedir. Bilgisayarlarla bu kadar doğal eşleşmesinin sebebi, bir hex basamağının tam olarak 4 bit'e (bir "nibble") karşılık gelmesidir — yani iki hex basamağı her zaman tam olarak bir baytı (8 bit) temsil eder, yuvarlama veya belirsizlik olmadan. Bu yüzden bir bayt değeri asla iki hex karakterinden fazlasına ihtiyaç duymaz: 0-255 aralığı 00-FF'e temiz biçimde eşlenir.
Bu araç metni bu gösterime çevirir ve geri çevirir. Metin önce UTF-8 ile ham baytlara dönüştürülür (böylece Türkçe harfler ve emojiler dahil her karakter gidip-gelme sürecinde kaybolmaz), sonra her bayt iki haneli hex çifti olarak yazılır: "Hi" → 48 69, çünkü H harfi 72. bayt (0x48), i harfi ise 105. bayttır (0x69). ASCII-dışı bir karakter içeren somut bir örnek: "çay" kodlandığında C3 A7 61 79 çıkar — "ç" tek başına iki bayt alır (C3 A7) çünkü tek baytlık ASCII aralığının dışındadır, "a" ve "y" ise birer bayttır. Çözme işlemi bunun tersidir; boşluklar, satır sonları ve "0x" önekleri yok sayılır.
Metin, bayt ve hex arasındaki bu eşleşme, aracı sadece merak için değil gerçek hata ayıklama görevlerinde de kullanışlı kılar: bir ağ dinleyicisinden veya seri konsoldan aldığınız hex dökümünü yapıştırıp metin olarak okumak, kısa bir ikili veriyi hex olarak bir JSON dizesi içine gömmek veya kendi kodunuzun ürettiği bir değerin bir teknik dokümanda hex olarak gösterilenle eşleştiğini doğrulamak — bunların hepsi, kodlama/çözme yönünün gerçek bir işe uygulanmasından ibarettir.
Bilinmesi Gerekenler
- Hex kodlama şifreleme değildir: yalnızca verinin gösterimini değiştirir, gizliliğini değil. Her hex dizesi anında ve belirleyici biçimde orijinal baytlara geri çözülür — dizeye sahip olan herkes onu okuyabilir. Gerçek gizlilik için kodlama değil, gerçek şifreleme (örn. AES) kullanın.
- Basamak başına 4 bit neden önemli: bir nibble (4 bit) tam olarak 16 olası değere sahiptir (ikilikte 0000-1111), bu da tek bir hex basamağına birebir ve artıksız eşlenir — oysa ikiliği taban-10'a çevirmek, sayının tamamı üzerinde aritmetik gerektirir. Hex'in renk kodlarında (#RRGGBB — üç bayt, altı hex hanesi), bellek adreslerinde ve düşük seviyeli hata ayıklamada karşımıza çıkmasının sebebi budur: ham ikili verinin en kompakt, okunabilir görünümüdür.
- UTF-8 değişken genişliktedir: ASCII karakterler bir bayt kaplar, ama aksanlı harfler ve çoğu Latin-dışı yazı bir bayt yerine iki, emojiler ise genelde dört bayt kaplar — bu yüzden ASCII-dışı metin devreye girdiğinde hex çıktısının uzunluğu basitçe "görünen harf başına iki karakter" olmaz.
- Kabul edilen giriş biçimleri: çözücü, boşluklu veya boşluksuz hex çiftlerini, satır sonlarını ve "0x" öneklerini kabul eder: "48 69", "4869" ve "0x48 0x69" hepsi "Hi" olarak çözülür.
- Çözme için büyük-küçük harf önemli değildir: A-F hex harfleri büyük, küçük veya karışık yazılabilir ve aynı şekilde çözülür, çünkü ikisi de aynı dört bitlik değeri temsil eder — yalnızca bayt gruplaması ve sırası önemlidir.
Sıkça Sorulan Sorular
Hex kodlama güvenli midir?
Hayır — yalnızca gösterimi değiştirir, gizlilik sağlamaz. Hex'i herkes anında çözebilir. Gizli veriler için gerçek şifreleme (örn. AES) kullanın.
Türkçe karakterler ve emojiler destekleniyor mu?
Evet. Dönüşüm UTF-8 üzerinden yapılır; ç, ğ, ı, ş dahil tüm Unicode karakterler ve emojiler doğru çevrilip geri getirilir, bazı karakterler birden fazla bayt kaplasa bile.
Çözücü hangi biçimleri kabul eder?
Boşluklu veya boşluksuz hex çiftleri, satır sonları ve "0x" önekleri: "48 69", "4869" ve "0x48 0x69" hepsi "Hi" olarak çözülür.
Bir hex basamağı neden her zaman 4 bit'e eşittir?
Çünkü 4 bit tam olarak 16 farklı değeri temsil edebilir (2⁴ = 16); bu da onaltılık sistemin 16 sembolüyle (0-9, A-F) birebir eşleşir. Bu yüzden ikilik ile hex arasında dönüşüm, ondalığa çevirmenin aksine bölme veya kalan aritmetiği gerektirmeyen saf bir eşleme işlemidir.
#FF5733 gibi renk kodları neden ondalık yerine hex kullanır?
Bir rengin kırmızı, yeşil ve mavi kanalları her biri tek bir bayt olarak (0-255) saklanır; hex ise bir baytı tam iki haneyle kompakt biçimde gösterir — #FF5733 anında üç bayt olarak okunur: FF, 57, 33; ondalık karşılığı (255, 87, 51) ise ayırıcı virgüller ve değişken uzunlukta sayılar gerektirir, bu da CSS'e veya bir tasarım aracına yazması daha zahmetlidir.
Benzer Araçlar
Sorun Bildir
Metin ↔ Hex Çevirici
Yorumlar
Henüz yorum yok — ilk yorumu siz yazın!