Nasıl kullanılır?
- Kodlamak için “Metin → baytlar”, kod çözmek için “Baytlar → metin” seçin.
- Bir bayt biçimi seçin: ikilik, onaltılık, ondalık veya sekizlik.
- Metni yazın veya yapıştırın. Yazarken sonuç ve bayt sayısı güncellenir.
- Sonucu kopyalayın veya gidiş-dönüş dönüşümünü kontrol etmek için giriş alanına aktarın.
Nasıl çalışır?
Bilgisayarlar metinleri bayt olarak saklar. Bu araç, neredeyse tüm web sitelerinin ve modern sistemlerin kullandığı UTF-8 kodlamasını kullanır. UTF-8'de 128 ASCII karakteri (İngilizce harfler, rakamlar ve temel noktalama işaretleri) birer bayt yer kaplar. Bu nedenle H, ikilik sistemde 01001000; onaltılık sistemde 48 olarak gösterilir. Diğer tüm karakterler iki ila dört bayt kullanır: é 2 bayt (C3 A9), € ve ☕ 3 bayt, emojilerin çoğuysa 4 bayt kullanır. Bu yüzden bayt sayısı karakter sayısından fazla olabilir ve tek bir karakter birkaç 8 bitlik gruba dönüşebilir.
Her bayt dört yaygın biçimde yazılabilir: 8 basamaklı ikilik (00000000–11111111), 2 basamaklı onaltılık (00–FF), ondalık (0–255) veya 3 basamaklı sekizlik (000–377). Baytlar ayraç olmadan yazıldığında, ikilik, onaltılık ve sekizlik değerler sabit basamak sayısına tamamlanır. Ondalık değerler de yeniden belirsizliğe yer vermeden ayrıştırılabilmeleri için 3 basamağa tamamlanır.
Biçimlendirmedeki farklılıklara rağmen kod çözme işlemi yapılabilir: baytlar arasındaki boşluklar, satır sonları, virgüller ve noktalı virgüller yok sayılır; 0x ve 0b önekleri ile \x kaçışları da aynı şekilde yok sayılır. Her grup kontrol edilir; seçilen biçimde kullanılamayan bir rakam veya 255'ten büyük bir değer varsa baytın konumu bildirilir. Kod çözme işleminden sonra baytların geçerli UTF-8 olup olmadığı kontrol edilir ve metin değillerse bu size bildirilir.
Bayraklar veya ten rengi belirten emojiler gibi birden fazla kod noktasından oluşan karakterler burada birden fazla karakter olarak sayılır; çünkü her kod noktası ayrı ayrı kodlanır.
Örnekler
Klasik “Hi” metninin ikilik gösterimi
H'nin ASCII değeri 72, i'nin değeri 105'tir. Bu nedenle “Hi”, ikilik sistemde 01001000 01101001; onaltılık sistemde 48 69; ondalık sistemde 72 105 olur: 2 karakter, 2 bayt, 16 bit.
“Café” neden 5 bayt?
C, a ve f birer bayt; é ise UTF-8'de iki bayttır: 11000011 10101001 (C3 A9). Kelime 4 karakterden oluşur ama 5 bayt yer kaplar. Bu, veritabanı sütun sınırları ve bayt cinsinden ölçülen protokol alanları için önemlidir.
Onaltılık dökümü okuma
Bir hata ayıklayıcıda 48 65 6c 6c 6f 2c 20 e4 b8 96 e7 95 8c görünür. “Bayt → metin” ve Onaltılık seçeneklerini belirleyip bunu yapıştırarak “Hello, 世界” metnini elde edin; her Çince karakter 3 bayttır.
Sık sorulan sorular
Bir karakter neden 16, 24 veya 32 bite dönüşüyor?
UTF-8'de yalnızca ASCII karakterleri tek bayta (8 bit) sığar. Aksanlı harfler ve diğer alfabelerin çoğu 2 bayt; Çince, Japonca, Korece karakterler ve pek çok simge 3 bayt; emojilerse 4 bayt kullanır. Her bayt kendi grubu olarak gösterilir.
Bu ASCII mi, UTF-8 mi?
UTF-8. Düz İngilizce metinlerde sonuç ASCII ile aynıdır; çünkü UTF-8, ASCII ile uyumlu olacak şekilde tasarlanmıştır. ASCII dışındaki karakterleri yalnızca ASCII ile göstermek mümkün değildir.
İkilik kodu çözerken neden hata alıyorum?
Her bayt en fazla 8 ikilik basamak içermeli ve yalnızca 0 ile 1'den oluşmalıdır. Arada boşluk yoksa toplam basamak sayısı 8'in katı olmalıdır. Hata mesajında okunamayan bayt belirtilir.
“Geçerli UTF-8 değil” ne anlama geliyor?
Baytlar geçerli UTF-8 dizileri oluşturmuyor olabilir. Örneğin, 127'den büyük tek bir bayt ya da ortasında kesilmiş bir dizi olabilir. Veriler Windows-1252 gibi başka bir kodlamayla oluşturulmuş bir dosyadan geliyor olabilir veya hiç metin olmayabilir.
Gizlilik
Dönüştürme, tarayıcınızın yerleşik UTF-8 kodlayıcısı ve kod çözücüsü kullanılarak yapılır. Metniniz yüklenmez, saklanmaz veya analiz verilerine eklenmez.