araç köşesi

Metinden Binary'ye (İkili Kod) Çevirici

Metni ikili koda çevirin, ikili kodu metne geri çözün

Verileriniz sizde kalır. Dönüşüm tarayıcının içinde yapılır, hiçbir şey sunucuya gitmez.

Nasıl çalışır?

Sol panele çevirmek istediğinizi yazın; araç her satıra ayrı bakar ve yalnız 0, 1 ve boşluktan oluşan satırı ikili kod sayıp metne çözer, diğer satırları ikili koda çevirir. Yani "Merhaba" yazarsanız karşınıza 01001101 ile başlayan bayt dizisi çıkar; 01000001 01110010 01100001 01100011 yapıştırırsanız "Arac" okursunuz. Kodlama UTF-8'dir: A harfi tek bayt (8 bit) tutarken ş, ğ, ü gibi Türkçe harfler iki bayt üretir — sonuç satırındaki "7 karakter → 8 bayt" notu bu farkı size gösterir. Ödev ya da form bitişik dizi istiyorsa çıktı biçimini "Boşluksuz" yapın; çözme yönünde ise boşluksuz yapıştırılan dizi 8'e tam bölünüyorsa araç onu kendiliğinden 8'erli keser. 8 bitlik olmayan öbekler ve geçerli bir harfe denk gelmeyen baytlar # ile işaretlenir ve sayıları sonuç satırında bildirilir; araç asla sessizce tahmin yürütmez.

Bu araç binary translator, text to binary, metni binary yapma aramalarıyla da biliniyor.

Binary (ikili sayı sistemi) nedir?

Binary, yalnız 0 ve 1 rakamlarını kullanan sayı sistemidir ve bilgisayarın tek konuştuğu dildir: işlemcideki her devre ya akım var (1) ya yok (0) durumundadır. Metin, görsel, ses — bilgisayarda saklanan her şey en altta bu iki rakamın dizileridir. Bir metni "binary'ye çevirmek", her karakterin kod tablosundaki sayısal değerini bulup o sayıyı 0 ve 1'lerle yazmak demektir; yani çeviri bir şifreleme değil, gösterim değişikliğidir ve herkes aynı tabloyla geri çözebilir.

UTF-8 nedir?

UTF-8, dünyadaki bütün yazı sistemlerini kapsayan Unicode karakter kümesini bayta döken kodlamadır ve bugün internetin fiilî standardıdır. Değişken uzunlukludur: İngiliz alfabesi ve rakamlar 1 bayt, Türkçe ş ve ğ gibi harfler 2 bayt, birçok simge 3-4 bayt tutar. İlk 128 karakterde eski ASCII tablosuyla bire bir aynıdır; bu yüzden yalnız İngilizce içeren bir metnin UTF-8 ve ASCII çevirisi aynı 0-1 dizisini verir, Türkçe metinde ise fark hemen ortaya çıkar.

Bit ile bayt arasındaki fark nedir?

Bit, ikili sistemin tek basamağıdır: ya 0 ya 1. Bayt ise 8 bitin yan yana gelmiş halidir ve bellekteki adreslenebilir en küçük birimdir; 8 bit 256 farklı diziliş tutabildiği için bir bayt 0-255 arası bir sayıyı temsil eder. Bu araçtaki her 8'lik öbek bir bayttır: 01000001 öbeği 65 sayısını, o da UTF-8 tablosunda A harfini karşılar. Dosya boyutları bayt üzerinden (KB, MB), internet hızları ise genellikle bit üzerinden (Mbps) yazılır — 100 megabitlik hattın saniyede en çok 12,5 megabayt indirmesi bu sekiz kat farktandır.

8'e bölünmeyen dizi tuzağı ve # işareti

İkili koddan metne dönüşün en sık kırıldığı yer eksik ya da fazla bit'tir: bir yerden kopyalarken tek bir karakterin düşmesi, dizinin 8'e bölünmesini bozar ve o noktadan sonrası kayar. Bu araç böyle bir öbeği ya da geçersiz baytı sessizce atlamaz, yerine # koyar ve sonuç satırında kaç tanesinin işaretlendiğini söyler — çıktıda # görüyorsanız kaynaktaki diziyi yeniden kopyalamak en sağlıklı yoldur.

İkinci ayrıntı kod tablosudur: 01000001 dizisinin "A" olması ASCII/UTF-8 tablosuna göredir. Türkçe harfler bu tabloda tek bayta sığmaz; ş harfi 11000101 10011111 olarak iki bayt üretir. Başka bir araç aynı harfi farklı bir kodlamayla (örneğin Windows-1254 ile tek bayt) yazmışsa, buradaki çözüm # üretebilir — hata değil, kodlama farkıdır.

Hangi durumda hangi ayar?

Varsayılan ayarlar çoğu işi görür; şu üç durumda seçeneklere dokunmanız gerekir.

  • Ödev bitişik dizi istiyorsa → çıktı biçimini "Boşluksuz" yapın; 01001101011001010111... biçiminde tek parça alırsınız
  • Yalnız 0 ve 1 yazdığınız halde metin olarak kodlanmasını istiyorsanız → yönü "Metinden ikili koda" sabitleyin
  • Sayı çevirmek istiyorsanız (1010 = 10 gibi) → bu araç metin kodlar; ikilik-onluk taban dönüşümü için sayı tabanı çevirici kullanın

Sık sorulanlar

Binary çeviri tam olarak ne yapıyor?

Yazdığınız her karakteri bilgisayarın bellekte tuttuğu haline çevirir: karakter önce UTF-8 kod tablosundaki bayt değerini alır, her bayt da 8 basamaklı 0-1 dizisi olarak yazılır. Ters yönde aynı tablo kullanılarak diziden karaktere dönülür.

Türkçe karakterler neden iki öbek üretiyor?

UTF-8'de ilk 128 karakter (İngiliz alfabesi, rakamlar, temel işaretler) tek bayttır; ş, ğ, ü, ç, ö, ı gibi harfler iki bayta yayılır. Bu yüzden "şu" kelimesi 3 öbek üretir: ikisi ş'nin, biri u'nun. Sonuç satırındaki karakter-bayt sayısı bu farkı gösterir.

Boşluksuz yapıştırdığım uzun 0-1 dizisi çözülür mü?

Evet — dizi 8'e tam bölünüyorsa araç onu kendiliğinden 8'erli öbeklere keser ve çözer. 8'e bölünmüyorsa öbek # ile işaretlenir; bu genellikle kopyalama sırasında bir karakterin düştüğüne işarettir.

1010 gibi bir sayıyı onluk sisteme çevirebilir miyim?

Bu araç sayı değil metin çevirir: 1010 satırını 8 bitlik öbek olmadığı için sayı olarak değil bozuk kod olarak görür. İkilik, onluk, on altılık taban dönüşümü ayrı bir iştir ve bu sitedeki sayı tabanı çevirici tam olarak onu yapar.