URL kodlaması nasıl çalışır?
Web adreslerinde yalnızca az sayıda karaktere izin verilir: aksansız harfler, rakamlar ve birkaç işaret. Geri kalan her şey kodlanır. UTF-8’de ç harfi C3 ve A7 baytlarından oluşur, bu yüzden %C3%A7 olur. Boşluk %20, formlarda ise + olur.
Kodlu
%C3%87ay ve %C5%9Feker
Çözülmüş
Çay ve şeker
En sık görülen URL kodları
%C3%A7= ç,%C4%9F= ğ,%C4%B1= ı,%C3%B6= ö,%C5%9F= ş,%C3%BC= ü%C3%87= Ç,%C4%9E= Ğ,%C4%B0= İ,%C3%96= Ö,%C5%9E= Ş,%C3%9C= Ü%E2%82%BA= ₺,%E2%82%AC= €,%E2%80%99= ’%20= boşluk,%2F= /,%3F= ?,%26= &,%25= %
Eski sistemler her harfi Windows-1254’ten tek bir baytla kodlar: Kad%C4%B1n yerine Kad%FDn. Mojibuster bunu da tanır ve Kadın yapar.
URL kodlu metin nereden gelir?
- Kopyalanan bağlantılar: tarayıcı
wikipedia.org/wiki/Şişliadresini okunur gösterir, ama kopyalayınca panoya çoğu zaman%C5%9Ei%C5%9Fligider. - Formlar ve izleme: arama terimleri ve UTM parametreleri sunucu kayıtlarında ve analiz dışa aktarımlarında kodlu saklanır, örneğin
?q=%C3%A7ay. - Dışa aktarımlar ve API’ler: bazı bülten araçları, webhook’lar ve API’ler değerleri kodlu kaydeder; CSV dosyasında isimler yerine kodlar görünür.
- Dosya adları: sunucu adı çözmezse bir indirme
Fatura%20%C3%96zg%C3%BCr.pdfadını alır.
Kodlar ve bozuk harfler bir arada
Bazen metin iki kez bozulmuştur: %C3%83%C2%A7, URL kodlu bir ç – yani önce yanlış okunup sonra kodlanmış bir ç. Mojibuster önce kodları çözer, sonra à karakterini düzeltir. Sonunda yine ç çıkar.
Kodları da dönüştür seçeneği bu sayfada zaten açık. HTML kodlarını (ç), e-posta kodlarını (=C3=A7) ve program kodundaki kaçış dizilerini (\u00e7) de dönüştürür. Diğer kodlama hataları: UTF-8 karakter düzeltme.
Excel, JavaScript, Python ve PHP’de kendiniz çözün
- Excel: yalnızca kodlama işlevi vardır (İngilizce sürümde
ENCODEURL), çözme işlevi yoktur. En kolayı: sütunu kopyalayın, buraya yapıştırın ve sonucu geri kopyalayın. Ayrıca bkz. Excel Türkçe karakter sorunu. - JavaScript:
decodeURIComponent("%C3%A7ay")sonucuçayverir. - Python:
urllib.parse.unquote("%C3%A7ay"), boşluk olarak+kullanan form verileri içinunquote_plus. - PHP:
rawurldecode(), form verileri içinurldecode().
Sık sorulan sorular
%C3%A7 ne anlama gelir?
URL kodlamasında ç harfidir: UTF-8 baytları C3 ve A7, her birinin önünde bir %. Aynı şekilde %C4%B1 = ı ve %C5%9F = ş.
%20 ne anlama gelir?
Bir boşluk. Form verilerinde onun yerine sık sık + kullanılır. Mojibuster + işaretini olduğu gibi bırakır, çünkü normal metinde gerçek bir artı işareti olabilir.
Bağlantılarım yükleniyor mu?
Hayır. Dönüştürme tamamen tarayıcınızda yapılır. Token, e-posta adresi veya başka kişisel veri içeren bağlantılar cihazınızdan çıkmaz.
100% neden değişmiyor?
Mojibuster yalnızca gerçek bir özel karakter veren dizileri dönüştürür. 100%, %50 ya da normal metindeki tek bir %20 olduğu gibi kalır.