Metin Çevirici: Metni Anında Tersine Çevirin ve Karakterleri Çevirin
Herhangi bir metni anında tersine çevirmek için ücretsiz çevrimiçi metin çevirici aracı. Karakterleri çevirin, palindromları kontrol edin ve geriye doğru metin oluşturun. Unicode, emojiler ve tüm dillerde çalışır.
Metin Tersine Çevirme Aracı
Karakterlerin sırasını anında tersine çevirmek için aşağıya herhangi bir metni girin veya yapıştırın. Yazarken sonuçları gerçek zamanlı olarak görün.
Belgeler
Metin Ters Çevirici Nedir?
Metin ters çevirici, bir metin parçasındaki karakterlerin sırasını tersine çeviren bir araçtır. "hello" yazıldığında "olleh" elde edilir. Araç, her karakteri sondan başlayıp ilkine kadar geriye doğru yazarak çalışır. İnsanlar bunu tersten yazı oluşturmak, bir sözcüğün palindrom olup olmadığını test etmek veya programlamada dizelerin nasıl ters çevrildiğini incelemek için kullanır.
Metin Ters Çevirici Nasıl Kullanılır?
- Girdi kutusuna metin yazın veya yapıştırın.
- Yazmayı bıraktığınızda ters çevrilmiş metin aşağıda görünür. Düğmeye basmak gerekmez.
- Sonucu kopyalamak için kopyalama dümesine basın.
Sıfırlama düğmesi hem girişi hem de sonucu temizler. Araç en fazla 10.000 karakter kabul eder; daha uzun bir girişte metni kısaltmanızı isteyen bir hata mesajı gösterilir. Sayım, ekranda görünen karakterlere göre yapılır; bu nedenle bilgisayar bir emojiyi birkaç parça olarak saklasa da emoji bir karakter sayılır.
Metin Ters Çevirme Formülü
karakterlerinden oluşan ve uzunluğu n olan bir dize için ters çevrilmiş dize şöyledir:
Basitçe ifade edersek: son karakter ilk olur, sondan bir önceki karakter ikinci olur ve ilk karakter son karakter olana kadar bu şekilde devam eder.
Algoritma adım adım nasıl çalışır?
- Boş bir sonuçla başlayın.
- Girdinin son karakterini alın ve sonuca ekleyin.
- Sondan bir önceki karakteri alın ve ekleyin.
- Tüm karakterler ters sırayla eklenene kadar tekrarlayın.
Ters çevirme araçlarının çoğu tek tek bilgisayar karakterleri üzerinde çalışır. Bu araç ise ters çevirmeden önce her emojiyi, bayrağı ve aksanlı harfi tek bir birim olarak gruplandırır; bunun için grafem kümesi segmentasyonu adı verilen bir yöntem kullanır. Aşağıdaki bölüm bunun neden önemli olduğunu açıklar.
Uygulamalı örnek
Girdi: Hello, World!
Ters çevrilmiş: !dlroW ,olleH
Virgül, boşluk ve ünlem işareti de dahil olmak üzere her karakter kendi niteliğini korur. Yalnızca sıra değişir.
Emojiler, Aksanlar ve Diğer Unicode Karakterlerini İşleme
Bilgisayarlar, emoji veya aksanlı bir harf gibi ekranda tek bir karakter olarak görünen bir öğeyi, kod noktası adı verilen birden fazla küçük birim olarak saklayabilir. Bu birimlerin hangilerinin birlikte olması gerektiğini dikkate almadan tek tek ters çevrildiği bir yöntem, karakteri parçalara ayırabilir.
Örneğin, "Hello 👍" ifadesinde bir çift gizli birimden oluşan başparmak yukarı emojisi bulunur. Birimleri tek tek ters çeviren basit bir yöntem bu çifti ayırarak emoji yerine bozuk simgeler oluşturabilir. Bu araç, her emojiyi, bayrağı ve aksanlı harfi tek bir birim olarak ele alarak bu sorunu önler; böylece "Hello 👍" doğru biçimde "👍 olleH" olur. Bir ülke kodunu temsil eden iki gizli simgeden oluşan bayrak emojisi de bütünlüğünü korur: "🇺🇸 USA", bayrağı parçalamak yerine "ASU 🇺🇸" biçiminde ters çevrilir.
Yaygın Kullanımlar
- Palindrom denetimi: Palindrom, "racecar" gibi, önden ve arkadan aynı okunan sözcüktür. Bir sözcüğü ters çevrilmiş hâliyle karşılaştırmak bunu test etmenin bir yoludur.
- Kod yazmayı öğrenme: Bir dizeyi ters çevirmek, döngüler, diziler ve yığınlar üzerinde pratik yapmak için kullanılan yaygın bir alıştırmadır.
- Sözcük oyunları ve bulmacalar: Ters çevrilmiş sözcükler, bulmacalarda ve kaçış odalarında iletileri gizlemek için kullanılır.
- Tasarım efektleri: Bazı tasarımcılar aynalanmış logolar veya görsel efektler oluşturmak için metni ters çevirir.
- Hata ayıklama: İleri ve ters çevrilmiş metni karşılaştırmak, bazı veri hatalarını fark etmeye yardımcı olabilir.
Karakter Ters Çevirme ile Sözcük Ters Çevirme Arasındaki Fark
Bu iki işlem sık sık karıştırılır.
- Karakter ters çevirme (bu aracın yaptığı işlem): Her karakter ters çevrilir. "Hello World", "dlroW olleH" olur.
- Sözcük ters çevirme: Her sözcük olduğu gibi kalır, ancak sözcüklerin sırası değişir. "Hello World", "World Hello" olur.
Kısa Tarihçe
Ters ve aynalı yazı, bilgisayarlardan binlerce yıl öncesine dayanır. Bazı Eski Yunan yazıtlarında, satırların bir soldan sağa, bir sağdan sola ilerlediği ve bir öküzün tarlayı sürmesine benzeyen boustrophedon adı verilen bir yazı biçimi kullanılmıştır. Leonardo da Vinci, defterlerinin büyük bölümünü yalnızca aynaya tutulduğunda okunabilen ayna yazısıyla yazmıştır; tarihçiler bunu gizlilik, solak bir yazar olarak rahatlık sağlama veya mürekkebin bulaşmasını önleme amacıyla yapıp yapmadığını hâlâ tartışmaktadır.
Bilgisayar bilimlerinin ilk dönemlerinden beri bilgi işlemde dize ters çevirmek, standart bir programlama alıştırması olmuştur. Karakterleri bir yığına itip sonra dışarı almak sıralarını otomatik olarak tersine çevirdiği için, yığınların ve dizilerin nasıl çalıştığını öğretmek amacıyla sıkça kullanılır.
Kodda Metin Nasıl Ters Çevrilir?
Programlama dillerinin çoğunda bir dizeyi ters çevirmek için yerleşik veya basit bir yöntem bulunur:
1text = "Hello, World!"
2print(text[::-1]) # !dlroW ,olleH
31const text = "Hello, World!";
2console.log([...text].reverse().join('')); // !dlroW ,olleH
3Her iki örnek de normal harf ve rakamların yanı sıra 🌍 gibi tek birimden oluşan emojiler için metni doğru biçimde ters çevirir. Ancak bazı bayrak emojileri, ayrı bir aksan işaretiyle yazılan aksanlı harfler veya özel birleştirme karakterleriyle oluşturulan aile emojileri gibi birden fazla gizli birimden oluşan karakterleri yine de parçalayabilir. Bu aracın kullandığı grafem kümelerini güvenli biçimde ters çevirme yöntemi, JavaScript'teki Intl.Segmenter gibi özel bir işlev gerektirir.
Performans
Metni ters çevirmek doğrusal zaman alır: Algoritma her karaktere tam olarak bir kez baktığından, girdi iki katına çıktığında işlem yükü yaklaşık iki katına çıkar. Tek bir sözcükten birkaç sayfaya kadar olan sıradan metinlerde sonuç neredeyse anında görünür. Megabaytlarca ve daha büyük boyuttaki çok büyük dosyalar, verilerin tamamını aynı anda belleğe yüklemek yerine akış olarak işleyen özel programlarla daha iyi ele alınır.
Sık sorulan sorular
Metin çevrimiçi olarak nasıl ters çevrilir?
Yukarıdaki kutuya metni yapıştırın veya yazın. Yazmayı bıraktığınızda ters çevrilmiş metin otomatik olarak görünür. Sonucu kopyalamak için kopyalama düğmesini kullanın.
Maksimum metin uzunluğu var mı?
Evet. Araç en fazla 10.000 karakter kabul eder. Daha uzun bir girişte sonuç yerine hata mesajı gösterilir. Karakterler ekranda göründükleri biçimde sayılır; bu nedenle emoji veya aksanlı bir harf iki değil, bir karakter sayılır.
Bu araç sözcükleri mi, yoksa yalnızca karakterleri mi ters çevirir?
Sözcüklerin sırasını değil, tek tek karakterleri ters çevirir. "Hello World", "dlroW olleH" olur; "World Hello" olmaz.
Emojileri ve İngilizce dışındaki metinleri işleyebilir mi?
Evet. Araç, emojileri, bayrakları ve aksanlı harfleri tek birim olarak ele alır; bu nedenle bunlar ters çevirme sonrasında bütünlüğünü korur. Çince, Arapça ve Kiril metinleri de dahil olmak üzere her yazı sistemiyle çalışır.
Metni iki kez ters çevirirsem aslına döner mi?
Evet. Ters çevrilmiş bir dizeyi yeniden ters çevirmek özgün metni geri getirir. Bu özelliğe involüsyon adı verilir.
Ters çevrilmiş metin şifreleme için kullanılabilir mi?
Hayır. Karakterleri ters çevirmek güvenli değildir. Metni yalnızca görsel olarak gizler; metni yeniden ters çeviren herkes onu okuyabilir.
Kaynaklar
- Unicode Konsorsiyumu. Unicode Standard Annex #29: Unicode Metin Segmentasyonu.
- Cormen, T. H., Leiserson, C. E., Rivest, R. L. ve Stein, C. (2009). Algoritmalara Giriş (3. baskı). MIT Press.
- MDN Web Docs. Intl.Segmenter. Mozilla Developer Network.