URL Kodlayıcı Online

URL'lerdeki özel karakterleri kodla

Örnek dene

Düz Metin / URL

Kodlanmış

Yerel olarak çalışır · Gizli bilgi yapıştırmak güvenlidir
Kodlanmış çıkış...
Mod:
Bunu da deneyin:URL Çözücü Online

URL Kodlama Nedir?

URL kodlama (yüzde kodlama olarak da bilinir), bir Tekdüzen Kaynak Tanımlayıcısı'nda (URI) yalnızca RFC 3986 tarafından izin verilen karakterlerin son dizede görünmesi için bilgileri kodlama mekanizmasıdır. Ayrılmamış karakter (A–Z, a–z, 0–9, -, _, ., ~) olmayan herhangi bir karakter, karakterin UTF-8 bayt değerini temsil eden iki onaltılık basamaktan önce gelen bir yüzde işaretiyle değiştirilir — örneğin, bir boşluk %20 olur ve & ise %26 olur.

Yüzde kodlama gereklidir çünkü URL'ler yalnızca sınırlı bir ASCII karakter kümesi içerebilir. Bir URL bu kümenin dışındaki karakterleri içerdiğinde — boşluklar, Unicode harfler, yapısal sınırlayıcılar yerine gerçek değerler olarak kullanılan &, = veya / gibi semboller — bu karakterlerin URL ayrıştırıcısının yanlış yorumlamasını önlemek için kodlanması gerekir. Bu, kodlanmamış & veya ='nın parametre yapısını bozacağı sorgu dizisi değerleri için özellikle kritiktir.

Bu Aracı Neden Kullanmalısınız?

Kenar durumları kontrol etmek için kod yazmaya gerek kalmadan, metninizin her iki modda nasıl kodlandığını anında görün — canlı yan yana karşılaştırmayla.

Canlı Önizleme
Siz yazarken çıktı güncellenir. Farklı girişler deneyin ve hangi karakterlerin kodlandığını, hangilerinin korunduğunu anında görün.
🔀
İki Mod
Sayfadan ayrılmadan encodeURIComponent (değerler için) ve encodeURI (tam URL'ler için) arasında geçiş yapın.
🔒
Yalnızca İstemci Tarafı
Tüm kodlama tarayıcınızda yerel olarak çalışır. Hassas sorgu parametreleri ve token'lar hiçbir zaman bir sunucuya ulaşmaz.
📋
Tek Tıkla Kopyala
Kodlanmış çıktıyı tek bir düğmeyle panoya kopyalayın. Kodunuza, terminalinize veya tarayıcı adres çubuğuna doğrudan yapıştırmaya hazır.

Bu çevrimiçi URL kodlayıcıyı nasıl kullanılır

Hesap yok, kurulum yok. Metninizi giriş alanına yapıştırın veya yazın; yüzde kodlanmış sonuç anında görünür. Her şey tarayıcınızda çalışır — verileriniz asla cihazınızı terk etmez.

  1. 1
    Metninizi veya URL'nizi yapıştırın
    Herhangi bir dize girin — bir sorgu parametresi değeri, tam bir URL, bir yol segmenti veya JSON verisi. Kodlayıcı, RFC 3986'ya göre karakter karakter işler.
  2. 2
    Kodlama modunu seçin
    Bireysel parametre değerlerini kodlamak için encodeURIComponent'i seçin (ayrılmamış karakterler dışında her şeyi kodlar). ://?#&= gibi yapısal karakterleri koruyarak tam bir URL'yi kodlamak için encodeURI'yi seçin.
  3. 3
    Kodlanmış çıktıyı kopyalayın
    Yüzde kodlanmış dize anında görünür. Sonucu almak ve doğrudan API çağrınıza, form eylemine veya yapılandırma dosyanıza yapıştırmak için Kopyala'ya tıklayın.
  4. 4
    Gerekirse geri çözün
    Hata mı yaptınız veya sonucu doğrulamak mı istiyorsunuz? Kodlamayı tersine çevirmek için tek tıkla URL Çözücü aracına geçin.

Hangi Karakterler Kodlanır?

RFC 3986, URL karakterlerini iki kategoriye ayırır: ayrılmamış karakterler (hiçbir zaman kodlanmaz) ve ayrılmış karakterler (özel anlamı vardır — bağlama göre kodlanır veya korunur). Aşağıdaki tablo iki JavaScript işlevinin temel karakterleri nasıl ele aldığını gösterir:

Kar.URL'deki AnlamıencodeURIComponentencodeURI
Spaceword separator%20%20
+plus sign%2B%2B
/path separator%2F/ (kept)
?query start%3F? (kept)
#fragment%23# (kept)
&param separator%26& (kept)
=param value%3D= (kept)
@auth separator%40@ (kept)
:scheme / port%3A: (kept)
%percent literal%25%25
~unreserved~ (kept)~ (kept)
-_.~unreserved setkept as-iskept as-is

encodeURIComponent ve encodeURI

JavaScript, çok farklı davranışlara sahip iki kodlama işlevi sağlar. Yanlış olanı seçmek, URL işlemede en yaygın hatalardan biridir:

encodeURIComponent()
Ayrılmamış karakter kümesi (A–Z a–z 0–9 - _ . ~) dışındaki her şeyi kodlar. Bu, bireysel sorgu parametresi değerlerini, yol segmentlerini veya bir URL içine gömülecek herhangi bir değeri kodlamak için doğru seçimdir. /, ?, # ve & ile diğer tüm ayrılmış karakterleri kodlar.
encodeURI()
Ayrılmış karakterleri (: / ? # [ ] @ ! $ & ' ( ) * + , ; =) kodlanmamış bırakarak URL yapısının tamamını korur. Bunu yalnızca korumak istediğiniz yapıya sahip eksiksiz bir URL'niz olduğunda ve yalnızca içindeki ASCII olmayan veya yasadışı karakterleri kodlamanız gerektiğinde kullanın.

Yaygın Kullanım Durumları

Sorgu Dizisi Parametreleri
Bir URL'ye eklemeden önce parametre değerlerini kodlayın: name=John Doe yerine name=John%20Doe. Kodlanmamış boşluklar ve özel karakterler URL ayrıştırıcılarını bozar ve beklenmeyen sonuçlar üretir.
API İsteği Oluşturma
REST API'leri düzgün kodlanmış sorgu parametreleri gerektirir. encodeURIComponent ile değerleri kodlamak, değerlere gömülü & ve = gibi karakterler aracılığıyla ekstra parametre enjeksiyonunu önler.
Form Verisi Gönderimi
HTML formları varsayılan olarak verileri application/x-www-form-urlencoded olarak gönderir. Yüzde kodlamayı anlamak, tarayıcının neyi gönderdiğini ve sunucunun ne aldığını hata ayıklamaya yardımcı olur.
Özel Karakterleri Olan Yol Segmentleri
Boşluklar, eğik çizgiler veya unicode karakterler içeren dosya adları veya tanımlayıcılar, URL yol segmentleri olarak kullanıldığında yüzde kodlanmalıdır: /files/my%20document.pdf.
OAuth ve Kimlik Doğrulama Token'ları
OAuth 1.0a ve bazı kimlik doğrulama protokolleri, temel dizenin katı bir normalleştirme algoritmasını izleyen yüzde kodlanmış parametre adlarından ve değerlerinden oluşturulmasını gerektirir.
Derin Bağlantılar ve Paylaşım URL'leri
Kullanıcı içeriği (arama sorguları, filtre durumu, koordinatlar) içeren paylaşılabilir URL'ler oluştururken, bozuk bağlantıları ve URL manipülasyonu yoluyla XSS'yi önlemek için tüm dinamik değerleri kodlayın.

Kod Örnekleri

Popüler dillerde ve ortamlarda URL dizelerini kodlama yöntemleri:

JavaScript (browser / Node.js)
// Encode a query parameter value (most common case)
encodeURIComponent('hello world & more') // → "hello%20world%20%26%20more"

// Encode a complete URL (preserves ://?#& structure)
encodeURI('https://example.com/path?q=hello world') // → "https://example.com/path?q=hello%20world"

// Build a query string safely
const params = new URLSearchParams({ q: 'hello world', lang: 'en' })
const url = `https://example.com/search?${params}` // uses + for spaces
Python
from urllib.parse import quote, urlencode, quote_plus

# Encode a path segment or query value
quote('hello world & more')          # → 'hello%20world%20%26%20more'

# Encode for application/x-www-form-urlencoded (space → +)
quote_plus('hello world')            # → 'hello+world'

# Build a query string
urlencode({'q': 'hello world', 'lang': 'en'})  # → 'q=hello+world&lang=en'
Node.js (URL API)
const url = new URL('https://example.com/search')
url.searchParams.set('q', 'hello world & more')
url.searchParams.set('lang', 'en')
console.log(url.toString())
// → https://example.com/search?q=hello+world+%26+more&lang=en
CLI (curl / bash)
# curl automatically percent-encodes --data fields
curl -G "https://example.com/search" --data-urlencode "q=hello world & more"

# Manual encoding with Python one-liner
python3 -c "from urllib.parse import quote; print(quote('hello world'))"

URL Kodlayıcı vs. alternatifleri

Birçok araç metni yüzde kodlayabilir, ancak kontrol, gizlilik ve bağlam açısından farklılık gösterirler.

Bu araç
Tarayıcı tabanlı, anlık, gizli. encodeURIComponent ve encodeURI modlarını destekler. Hiçbir sunucuya veri gönderilmez. Tam Unicode girişini işler.
Tarayıcı adres çubuğu
Tarayıcılar URL'leri yapıştırdığınızda otomatik olarak kodlar, ancak yalnızca kısmen — okunabilirlik için pek çok özel karakter korunur. Parametre değerlerini kodlamak için uygun değildir.
URLSearchParams / urllib
JavaScript veya Python'da URL oluşturmanın doğru programatik yaklaşımı. Hızlı tek seferlik kodlama veya kodunuzun ne ürettiğini doğrulamak için bu aracı kullanın.

Sık Sorulan Sorular

Boşluklar için %20 ile + arasındaki fark nedir?
Her ikisi de boşluğu temsil eder, ancak farklı bağlamlarda. %20, bir boşluğun standart yüzde kodlanmış temsilidir ve bir URL'nin herhangi bir yerinde geçerlidir. + işareti yalnızca application/x-www-form-urlencoded biçiminde (HTML form gönderimleri) bir boşluğu temsil eder. Bir URL yolunda veya ham sorgu değerinde, + gerçek bir artı işaretidir, boşluk değil. Maksimum uyumluluk için %20 kullanın.
encodeURIComponent ile encodeURI'yi ne zaman kullanmalıyım?
Bireysel değerler (sorgu parametreleri, yol segmentleri, hash parçaları) için encodeURIComponent kullanın. encodeURI'yi yalnızca eksiksiz bir URL'niz olduğunda ve yapısını korumak istediğinizde kullanın. Yaygın bir hata, bir sorgu değerinde encodeURI kullanmaktır — bu & ve ='yı kodlanmamış bırakır ve sorgu dizisini bozar.
URL kodlama Unicode karakterleri ele alır mı?
Evet. ASCII olmayan karakterler önce UTF-8 bayt temsiline dönüştürülür, ardından her bayt yüzde kodlanır. Örneğin, euro işareti (U+20AC), %E2%82%AC — üç UTF-8 baytı olarak kodlanır. Her ikisi de encodeURIComponent ve encodeURI bunu tüm modern tarayıcılarda doğru şekilde işler.
Çift kodlama bir sorun mudur?
Evet. Zaten kodlanmış bir dizeyi kodlarsanız, %20 %2520 olur (% kendisi %25 olarak kodlanır). Her zaman ham değerleri kodlayın, önceden kodlanmış olanları değil. Şüphe durumunda, önce çözün, sonra yeniden kodlayın.
URL'lerde her zaman güvenli olan karakterler hangileridir?
RFC 3986 tarafından tanımlanan ayrılmamış karakterler her zaman güvenlidir ve hiçbir zaman kodlamaya ihtiyaç duymazlar: büyük harf A–Z, küçük harf a–z, rakamlar 0–9, kısa çizgi (-), alt çizgi (_), nokta (.) ve tilde (~). Diğer her şey, yapısal sınırlayıcı olarak değil de değer olarak kullanıldığında yüzde kodlanmalıdır.
Neden bazı URL'ler büyük hex (%2F) ve diğerleri küçük hex (%2f) içerir?
Her ikisi de geçerlidir. RFC 3986, yüzde kodlanmış dizilerin büyük/küçük harfe duyarsız olduğunu belirtir, bu nedenle %2F ve %2f eşdeğerdir. Ancak aynı RFC, tutarlılık için büyük harf onaltılık basamaklar kullanılmasını önerir. Çoğu tarayıcı ve kitaplık büyük harf üretir.
Bu araç tam URL'yi mi yoksa yalnızca parametreleri mi kodlar?
Her ikisini de. Bireysel sorgu parametresi değerlerini kodlamak için encodeURIComponent modunu kullanın (en yaygın kullanım durumu). ://, ?, # ve & gibi yapısal karakterleri koruyarak tam bir URL'yi kodlamak için encodeURI modunu kullanın.
Kodlama için bir uzunluk sınırı var mı?
Sunucu taraflı sınır yok — araç tamamen tarayıcınızda çalışır. Pratik sınırlar tarayıcınızın belleğine bağlıdır. Çok büyük girdiler veya toplu işleme için bir komut dosyasında encodeURIComponent kullanın.