IDN Punycode dönüştürücüsü

IDN'yi kolayca Punycode'a dönüştürün ve geri dönüştürün.

2 derecelendirmenin 5'ı
IDN Punycode dönüştürücüsü

IDN Punycode dönüştürücüsü, uluslararasılaştırılmış alan adlarını Punycode ASCII biçimine, Punycode'u da okunabilir Unicode metne dönüştüren ücretsiz bir araçtır.

Punycode nedir ve neden kullanılır?

Punycode, Unicode U-label'larını ASCII A-label'larına çeviren IDNA dönüşümünün bir parçasıdır. ü, é veya 漢 gibi karakterler içeren adların, başlangıçta yalnızca temel Latin harfleri, rakamlar ve kısa çizgiler için tasarlanmış sistemlerde kullanılabilmesini sağlar.

Bir IDNA A-label'ı xn-- ile başlar. Bu ön ek, kalan karakterlerin bir U-label'ın Punycode gösterimi olduğunu IDNA destekli uygulamalara bildirir. Noktalar ayırıcı olarak kalır, dolayısıyla alan adının her bölümü ayrı ayrı dönüştürülür.

Punycode, genellikle IDNA olarak kısaltılan Uygulamalarda Uluslararasılaştırılmış Alan Adları kapsamında kullanılır. IDNA doğrulama ve karakter işleme kurallarını da kapsarken Punycode, uygun bir Unicode etiketinin ASCII gösterimini sağlar.

Punycode bir kodlama yöntemidir, şifreleme değildir. ASCII biçimini herkes yeniden Unicode'a dönüştürebilir. Bu nedenle gizlilik sağlamaz ve bilgileri saklamak için kesinlikle kullanılmamalıdır.

Şema: metin IDN Punycode dönüştürücüsü aracından iki yönde geçer

Uluslararasılaştırılmış bir alan adını nasıl dönüştürebilirim?

Unicode metni Punycode/ASCII’ye Dönüştür alanına, ASCII A-label'larını ise IDN/Metne Dönüştür alanına gir. İlgili sonuç Punycode/ASCII veya IDN/Metin alanında görünür.

  1. Yalnızca dönüştürmek istediğin alan adını veya etiketi, başında ve sonunda tırnak işaretleri olmadan kopyala.
  2. Aksanlı ya da Latin alfabesi dışındaki karakterleri içeren Unicode metinler için Punycode/ASCII’ye Dönüştür seçeneğini kullan.
  3. ASCII A-label'ları için IDN/Metne Dönüştür seçeneğini kullan.
  4. Dönüştürülen her etiketi DNS, e-posta ayarları veya uygulama yapılandırmasında kullanmadan önce kontrol et.
digily.link üzerindeki IDN Punycode dönüştürücüsü aracı ve giriş formu

Dönüştürücü, PHP'nin idn_to_ascii ve idn_to_utf8 işlevlerini kullanır. İşlem sunucuda gerçekleştirilir. Girdiğin veri HTTPS üzerinden sunucuya iletilir ve saklanmaz.

Uygulamalı alan adı örnekleri

Basit bir dönüşüm, görüntülenen ad ile DNS uyumlu biçimi arasındaki ilişkiyi gösterir.

Girdi münchen.de

Çıktı xn--mnchen-3ya.de

Çıktıyı ters yönde dönüştürdüğünde yeniden münchen.de elde edilir. Yalnızca ASCII karakterlerinden oluşan de etiketinin dönüştürülmesi gerekmez. ü içeren etiket ise bir xn-- etiketine dönüşür.

Girdi, geçerli bir alan adı metni olmalıdır. Temel biçim, sık karşılaşılan durumları şöyle işler:

  • Aksanlı ve Latin alfabesi dışındaki harfler: uygun Unicode etiketleri, IDNA ve Punycode aracılığıyla ASCII biçiminde gösterilir.
  • Noktalar: her nokta etiketleri birbirinden ayırır. Bu nedenle bir alan adı hem normal ASCII etiketleri hem de kodlanmış etiketler içerebilir.
  • Rakamlar ve normal kısa çizgiler: bunlar zaten ASCII karakterleridir ve alan adı söz dizimi kurallarına uymak kaydıyla genellikle okunabilir hâlde kalır.
  • Boşluklar: normal DNS ana makine etiketlerinde boşluk kullanılamaz. Punycode'un boşluğu alan adının bir parçası olarak korumasını beklemek yerine yanlışlıkla eklenen boşluğu kaldır.
  • Noktalama işaretleri: nokta, etiketleri ayırır. URL yoluna, bağlantı noktasına veya sorgu dizesine ait karakterler ise ana makine adının parçası değildir.
  • Boş veya çok uzun girdi: boş bir değerde dönüştürülecek alan adı yoktur. DNS ayrıca kodlanmış her etiketi 63 oktetle sınırlar. Bu nedenle görünüşte kısa bir Unicode etiketi dönüşümden sonra fazla uzun olabilir.
IDN Punycode dönüştürücüsü aracının ürettiği örnek sonuç

Punycode dönüşümü neden başarısız oluyor veya beklenmedik metin üretiyor?

Dönüşüm genellikle girdi geçerli bir IDN metni olmadığında, hatalı biçimlendirilmiş bir A-label içerdiğinde ya da önceden başka bir kodlamadan geçirildiğinde başarısız olur. IDN/Metne dönüştürme sırasında, A-label olmayan sıradan ASCII girdisi değişmeden kalabilir. Karakterleri elle değiştirmeden önce kaynakta Unicode U-label'ları, ASCII A-label'ları veya URL kodlamalı bir ana makine adı bulunup bulunmadığını kontrol et.

  • Hatalı A-label'lar veya yanlış kodlama: hatalı biçimlendirilmiş bir xn-- etiketi dönüştürülemeyebilir. Base64, onaltılık metin ve yüzde kodlamalı URL'ler Punycode değildir.
  • Desteklenmeyen karakterler: Punycode, Unicode değerlerini temsil edebilir. Ancak IDNA kuralları ve alan adı kayıt kuruluşları belirli karakterleri, karakter birleşimlerini veya yazı sistemlerini reddedebilir.
  • Etiket uzunluğunun aşılması: DNS, kodlanmış her etiketi 63 oktetle sınırlar. Bu nedenle bir Unicode etiketi dönüşümden sonra fazla uzun olabilir.
  • Eksik veya fazla içerik: ana makine adıyla birlikte köşeli ayraçları, bağlantı noktası numarasını veya bir HTML özniteliğinin bir bölümünü kopyalamak değeri geçersiz kılabilir.
  • Çift kodlanmış girdi: bir Punycode alan adındaki karakterler açıkça veya standart dışı biçimde yüzde kodlamasıyla kodlandıysa yüzde dizileri olarak görünebilir. Önce URL kod çözücü ile bu URL kodlama katmanını çöz, ardından ortaya çıkan alan adını dönüştür.
  • Metin yerine ikili veri: IDN dönüşümü Unicode alan adı metniyle çalışır. Rastgele dosya baytları metin olarak işlendiğinde doğrulamadan geçmeyebilir veya anlamsız karakterler üretebilir.

Punycode ile nerelerde karşılaşırım?

Punycode ile çoğunlukla alan adlarında, DNS kayıtlarında, tarayıcıların adres işleme süreçlerinde ve ana makine adlarını ASCII olarak saklayan sistemlerde karşılaşırsın. Tarayıcı, güvenlik kurallarına ve kullanılan karakterlere bağlı olarak okunabilir uluslararasılaştırılmış adı gösterebilir veya xn-- biçimini koruyabilir.

E-posta adreslerinde @ işaretinden sonraki alan adı Punycode kullanabilir. Punycode, @ işaretinden önceki posta kutusu adını kodlamaz. JSON yükleri ve sorgu dizeleri bir ana makine adı taşıdığında Punycode içerebilir. Ancak genel metinler için JSON ve sorgu dizesi söz dizimi Punycode kullanımını gerektirmez.

Data URI'leri içerikleri için normalde yüzde kodlaması veya Base64 kullanır. Punycode burada yalnızca içerikte uluslararasılaştırılmış bir ana makine adı varsa görülür. Benzer şekilde, yol veya sorgu değerleri için URL kodlayıcıyı, ana makine adının kendisi içinse Punycode'u kullan.

Sık sorulan sorular

IDN dönüştürücüye tam bir URL yapıştırabilir miyim?

En güvenli yöntem, ana makine adını URL'den ayırıp yalnızca bu bölümü dönüştürmektir. Şema, bağlantı noktası, yol, parça ve sorgu bölümlerinin ayrı söz dizimi kuralları vardır. Bu bölümlerdeki karakterler Punycode yerine URL kodlaması gerektirebilir.

Alan adında xn-- etiketi olması sitenin güvensiz olduğu anlamına mı gelir?

Hayır. Birçok meşru uluslararasılaştırılmış alan adı xn-- etiketi kullanır. Ancak farklı yazı sistemlerindeki görsel olarak benzer karakterler yanıltıcı adlar oluşturmak için kullanılabilir. Şifre veya ödeme bilgisi girmeden önce kodu çözülmüş yazımı ve beklediğin kuruluşa ait olup olmadığını kontrol et.

Punycode alan adlarında emoji kullanılabilir mi?

Punycode algoritması emojilerin kod noktalarını kodlayabilse de IDNA alan adı etiketlerinde emoji kullanımına izin verilmez. Alan adı kayıt kuruluşlarının politikaları, izin verilen yazı sistemleri ve semboller için ek kısıtlamalar getirebilir.

Tarayıcım neden Unicode yerine Punycode gösteriyor?

Bir etiket farklı yazı sistemlerini bir arada kullanıyorsa, kimliğe bürünmeyle ilişkilendirilen karakterler içeriyorsa veya tarayıcının görüntüleme politikasını karşılamıyorsa tarayıcı ASCII biçimini koruyabilir. Bu, dönüşümün yanlış olduğunu göstermez. Yalnızca görüntülemeye yönelik bir güvenlik önlemidir.

Dönüştürülen alan adı DNS'de kesinlikle çalışır mı?

Hayır. Dönüşümün başarılı olması, alan adının kayıtlı, müsait veya ilgili kayıt kuruluşu tarafından izin verilen bir ad olduğunu kanıtlamaz. Sonucu kullanmadan önce etiket uzunluğunu doğrula, okunabilir yazımı kontrol et ve kayıt kuruluşunun ilgili karakterleri kabul ettiğinden emin ol.

Popüler araçlar