Skip to content

Ücretsiz HTML Varlık Çözücü — HTML Unescape

HTML varlıklarını çözün ve HTML'i çevrimiçi unescape edin — ücretsiz, kayıt yok, %100 tarayıcınızda. Adlı, ondalık & hex referansları tekrar karaktere çevirir; asla yüklenmez.

Takip Yok Tarayıcıda Çalışır Ücretsiz

Metniniz tarayıcınızda yerel olarak çözülür ve asla yüklenmez, günlüğe yazılmaz ya da saklanmaz. Bu cihazda kalır.

0 karakter
Çözülmüş HTML / Metin
0 karakter
Varlık çözme spesifikasyon doğruluğu (adlı / ondalık / hex çözümü), astral düzlem ve emoji yeniden oluşturma, hoşgörülü eski varlık ayrıştırması, çözülmüş güvenilmeyen metni işlemenin XSS riski (ve onu hafifleten yeniden escape rehberliği), girdinin ağ yok/depolama yok gizliliği ve erişilebilirlik (etiketli denetimler, çözme ve kopyalamada canlı bölge duyuruları) açısından incelendi. — Go Tools Kodlama Ekibi · Jun 17, 2026

HTML Varlık Çözme Nedir?

HTML varlık çözme — HTML unescape olarak da bilinir — karakter referanslarını temsil ettikleri karakterlere geri dönüştürme işlemidir. Kodlama, bir tarayıcının düz metin olarak göstermesi için düz bir < karakterini < varlığıyla değiştirirken, çözme tersini yapar: bir dizeyi <, &, <, > ya da © gibi referanslar için tarar ve her biri için gerçek karakteri (<, &, <, >, ©) yerine koyar. Bu, escape edilmiş biçiminde saklanan ya da iletilen işaretlemeniz olduğunda ve gerçek metni geri istediğinizde çalıştırdığınız işlemdir — okumak, düzenlemek, başka bir programa vermek ya da bir sayfanın neden < yerine &lt; işlediğini çözmek için.

Bu aracın ne yaptığı konusunda kesin olmak yararlıdır. Varlıkları karakterlere çözer; işaretlemeyi yeniden biçimlendirmez ya da doğrulamaz. Escape edilmiş bir dizeyi alıp düz karakterlerini kurtarmak istiyorsanız, doğru araç budur. Diğer yöne gidip karakterleri varlıklara çevirmek için HTML Varlık Kodlayıcı'yı kullanın; bir HTML bloğunu girintilemek ve düzenlemek için ise HTML Biçimlendirici'yi kullanın. Kodlama ve çözme tam terslerdir, dolayısıyla kodlayıcıdan ve geri çözücüden geçen bir dize değişmeden döner.

Çözücünün anlaması gereken üç tür referans vardır ve hepsini işler. Adlı bir referans tanımlı bir etiket kullanır (< için <, © için ©, — için —); ondalık sayısal bir referans Unicode kod noktasını 10 tabanında yazar (< için <); ve on altılık sayısal bir referans aynı kod noktasını 16 tabanında yazar (< için <), Unicode standardının U+XXXX gösterimiyle eşleşerek. Sağlam bir çözücü, farklı kodlayıcılar farklı biçimler verdiği için bunların herhangi birini, herhangi bir karışımda kabul eder. Aşağıdaki tablo en sık karşılaşacağınız referansları ve her birinin çözüldüğü karakteri gösterir:

| Entity (named) | Decimal | Hex | Decodes to | |----------------|---------|-----|------------| | &lt; | &#60; | &#x3C; | < | | &gt; | &#62; | &#x3E; | > | | &amp; | &#38; | &#x26; | & | | &quot; | &#34; | &#x22; | " | | &#x27; | &#39; | &#x27; | ' | | &nbsp; | &#160; | &#xA0; | (no-break space) | | &copy; | &#169; | &#xA9; | © | | &reg; | &#174; | &#xAE; | ® | | &trade; | &#8482; | &#x2122; | ™ | | &euro; | &#8364; | &#x20AC; | € | | &pound; | &#163; | &#xA3; | £ | | &mdash; | &#8212; | &#x2014; | — | | &ndash; | &#8211; | &#x2013; | – | | &hellip; | &#8230; | &#x2026; | … | | &#x1F600; | &#128512; | &#x1F600; | 😀 |

İki davranış, titiz bir çözücüyü ayırt eder. Birincisi, astral düzlem karakterlerini — çoğu emoji dahil, U+FFFF üzerindeki her şeyi — sayısal referanslarından bozuk bir yarım karakter üretmek yerine yeniden oluşturur; 😀 doğru biçimde 😀 olur. İkincisi, tarihsel olarak sondaki noktalı virgül olmadan görünen küçük eski adlı varlık kümesi için tarayıcının hoşgörülü ayrıştırmasını izler, böylece katı XML bunu reddetse de &copy 2026 yine de © 2026 olarak çözülür. Bu araç ikisini de yapar, yaygın olarak kullanılan he kütüphanesinin davranışıyla eşleşir, böylece çıktısı gerçek bir tarayıcının işleyeceğiyle örtüşür.

Her çözücüyle birlikte gelen bir uyarı sözü: çözülmüş metin tanımı gereği unescape edilmiştir. Çözme, sayfaları siteler arası betik çalıştırmadan koruyan escape'in tersidir, dolayısıyla bir <script> etiketi ya da bir olay işleyicisi içeren çözülmüş bir dize yeniden canlı, tehlikeli işaretlemedir. Güvenilmeyen girdiyi asla çözüp sonra onu innerHTML ile bir sayfaya eklemeyin — bu, escape'in kapatması gereken tam o açığı yeniden açar. Ham karakterleri okumak, düzenlemek ya da saklamak için gerektiğinde çözün; sonuç HTML'e geri işlenecekse, önce onu varış bağlamında yeniden escape edin. Ve her bayt tarayıcınızda işlendiği için çözdüğünüz escape edilmiş dizeler — özel bir kayıt ya da yayınlanmamış bir taslak bile — ağı hiç geçmez. Komşu dönüşümler için URL Kodlayıcı / Çözücü yüzde kodlamasını ve Base64 Kodla / Çöz ikili güvenli taşımayı halleder.

// Decoding is the inverse of escaping. The classic round-trip:
//   &lt;  →  <     &gt;  →  >     &amp;  →  &     &quot;  →  "     &#x27;  →  '

// Browser — the safest decoder is the platform itself. Use textarea, NOT innerHTML on a live node,
// so the decoded markup is never executed.
function decodeHtml(str) {
  const ta = document.createElement('textarea');
  ta.innerHTML = str;        // the parser resolves entities into text
  return ta.value;           // .value is plain text — no script runs
}

decodeHtml('&lt;div&gt; &amp; &copy;');   // → '<div> & ©'
decodeHtml('&#60;&#x3E;');                // → '<>'
decodeHtml('&#x1F600;');                 // → '😀'
decodeHtml('&copy 2026');                // → '© 2026'  (lenient, no semicolon)

// ---------------------------------------------------------------
// SECURITY: decoded text is unescaped. Never do this with untrusted input:
//   el.innerHTML = decodeHtml(userInput);   // ❌ reopens the XSS hole
// If the decoded value must be displayed, re-escape it in its destination context first,
// or assign it as text:
//   el.textContent = decodeHtml(userInput); // ✅ shown as literal text

// ---------------------------------------------------------------
// Node.js (no DOM) — use a tested library such as he:
//   import { decode } from 'he';
//   decode('&lt;div&gt; &amp; &copy;');     // → '<div> & ©'

Öne Çıkan Özellikler

Adlı, Ondalık ve Hex Referansları Çözer

Tam HTML5 adlı varlık kümesini (<, ©, —), ondalık sayısal referansları (<) ve on altılık referansları (<) herhangi bir kombinasyonda, tam bir tarayıcının yapacağı gibi çözer — böylece bir kodlayıcının ürettiği her ne ise tersine çevirir.

Emoji ve Astral Düzlem Karakterlerini İşler

U+FFFF üzerindeki sayısal referanslar tam kod noktalarına yeniden oluşturulur, böylece 😀 bozuk bir vekil yerine 😀 olarak çözülür. Nadir CJK ideogramları ve matematiksel simgeler de sadık biçimde çözülür.

Hoşgörülü Eski Varlık Ayrıştırması

Sondaki noktalı virgülü eksik adlı varlıklar için tarayıcının geriye dönük uyumlu kurallarını izler, böylece &copy 2026 gibi eski ya da dağınık işaretleme, katı bir ayrıştırıcının bozuk bırakacağı yerde yine de © 2026 olarak çözülür.

Canlı, Anlık Çözme

Çıktı siz yazdıkça güncellenir — gönder düğmesi yok, gidip gelme gecikmesi yok. Büyük bir escape edilmiş blok yapıştırın, kurtarılan metin anında belirir, kopyalamaya hazır.

Yerleşik Varlık Hızlı Başvurusu

En yaygın varlıkları — ayrılmış beşli artı ©, ®, ™, €, —,   ve daha fazlası — karakterlerine eşleyen bir başvuru tablosu sayfada hemen yanı başınızdadır, böylece bir varlığı başka yerde aramanız hiç gerekmez.

Kodlayıcıya Tek Tıkla Geçiş

Yönü değiştir, işlemi tersine çevirmek için doğrudan HTML Varlık Kodlayıcı'ya atlar. Kodlama ve çözme tam terslerdir, dolayısıyla metni kayıpsız döngüleyebilirsiniz.

%100 Gizli, Yalnızca Tarayıcı

Tüm çözme cihazınızda JavaScript ile gerçekleşir — ağ isteği yok, günlük yok, depolama yok, DevTools → Network'te doğrulanabilir. Özel veritabanı parçaları, e-posta içeriği ve yayınlanmamış taslaklar sekmeden hiç ayrılmaz.

15 Dilde Kullanılabilir

Tüm arayüz — etiketler, talimatlar ve rehberlik — 15 dile yerelleştirilmiştir, böylece ekibiniz nerede çalışırsa çalışsın araç ve güvenlik önerileri nettir.

Çözümlü Örnekler

Adlı varlıkların bir karışımını çözün

&lt;div&gt; &amp; &copy;
<div> & ©

Çözücü her adlı referansı temsil ettiği karaktere çözer: < karakteri < olur, > karakteri > olur, & karakteri & olur ve © telif hakkı işareti © olur. Bu, gündelik durumdur — escape edilmiş biçiminde saklanan ya da iletilen bir dizeyi alıp gerçek karakterlere geri çevirmek, böylece işaretlemeyi okuyabilir, düzenleyebilir ya da yeniden işleyebilirsiniz. Çözme, kodlamanın tam tersidir, dolayısıyla kodlayıcıdan geçip geri dönen bir dize değişmeden ulaşır.

Ondalık ve on altılık sayısal referansları çözün

&#60;&#x3E;
<>

Sayısal karakter referansları her iki tabanda çalışır: <, kod noktası 60'ın ondalık biçimidir, yani <, ve >, kod noktası 62'nin on altılık biçimidir, yani >. Çözücü ondalık (&#NNN;) ve hex (&#xHHH;) referansları birbirinin yerine işler, her birini Unicode karakterine çözerek. Bu önemlidir, çünkü kodlayıcılar hangi biçimi verecekleri konusunda anlaşamazlar — kimi ondalığı, kimi hex'i tercih eder — ve sağlam bir çözücü ikisini de kabul etmelidir.

Noktalı virgülü eksik eski bir varlığı çözün

&copy 2026
© 2026

Eski HTML, küçük bir adlı varlık kümesinin sondaki noktalı virgül olmadan görünmesine izin verdi ve tarayıcılar geriye dönük uyumluluk için bunları hâlâ çözer — &copy 2026, © 2026 olarak işlenir. Bu çözücü aynı hoşgörülü ayrıştırma kurallarını izler, böylece katı bir ayrıştırıcının dokunmadan bırakacağı dağınık ya da eski işaretlemeden amaçlanan karakteri kurtarır. Başıboş bir &copy gösteren metni ayıklıyorsanız nedeni budur.

Bir emojiyi hex referansından çözün

&#x1F600;
😀

Sayısal referanslar Temel Çok Dilli Düzlemle sınırlı değildir — 😀, kod noktası U+1F600'ün, sırıtan yüz emojisinin 😀 on altılık referansıdır. Çözücü, astral düzlem karakterlerini (U+FFFF üzerindeki her şeyi) sayısal referanslarından doğru biçimde yeniden oluşturur, böylece emojiler, nadir CJK ideogramları ve matematiksel simgeler bozuk bir vekil ya da bir yer tutucu glif yerine sadık biçimde çözülür.

Escape edilmiş bir öznitelik dizesini çözün

&lt;a href=&quot;x&quot;&gt;Tom &amp; Jerry&#x27;s&lt;/a&gt;
<a href="x">Tom & Jerry's</a>

Bu, kodlayıcının amiral gemisi örneğinin tam bir gidiş-dönüşüdür. " çift tırnağa çözülür, ' (uyumlu sayısal kesme işareti) ' karakterine çözülür ve açılı parantez ile ve işareti varlıkları düz karakterlerine çözülerek özgün Tom & Jerry's tam olarak yeniden oluşturulur. Çözücü adlı, ondalık ve hex referansları herhangi bir kombinasyonda kabul ettiğinden, hangi varlık biçimi kullanılmış olursa olsun bir kodlayıcının ürettiğini tersine çevirir.

HTML Varlık Çözücü Nasıl Kullanılır

  1. 1

    Escape edilmiş dizeyi yapıştırın

    HTML varlıklarıyla dolu metni giriş kutusuna bırakın. Çözülmüş karakterler siz yazdıkça canlı güncellenir — gönder düğmesi yoktur ve hiçbir yere bir şey gönderilmez.

  2. 2

    Çözülmüş sonucu okuyun

    Adlı, ondalık ve on altılık referansların tümü, emoji ve diğer astral düzlem kod noktaları dahil, temsil ettikleri karakterlere otomatik çözülür. Biçim seçimi gerekmez — çözücü her referansın türünü algılar.

  3. 3

    Çözülmüş metni kopyalayın

    Kurtarılan karakterleri panonuza koymak için Kopyala'ya tıklayın; bir düzenleyiciye, bir veritabanına ya da başka bir araca yapıştırmaya hazırdır. Temizle, bir sonraki dize için her iki bölmeyi de sıfırlar.

  4. 4

    Güvenilmeyen metni yeniden göstermeden önce tekrar escape edin

    Çözülmüş çıktı bir web sayfasına geri işlenecekse ve herhangi bir kısmı güvenilmeyen bir kaynaktan geliyorsa, bir XSS açığını yeniden açmamak için önce onu kodlayıcıyla tekrar escape edin.

  5. 5

    Bunun yerine kodlamak mı gerekiyor? Yönü değiştirin

    Ham karakterleri varlıklara çevirmek istediğinizde HTML Varlık Kodlayıcı'ya geçmek için Yönü değiştir'i kullanın.

Yaygın HTML Çözme Hataları

Çözülmüş güvenilmeyen girdi innerHTML ile işlendi

Çözme metni unescape eder, böylece çözülmüş bir <script> etiketi yine canlı işaretlemedir. Onu innerHTML ile eklemek çalıştırır — ders kitabı bir XSS açığı. Çözülmüş güvenilmeyen metni yeniden escape edin ya da textContent kullanın.

✗ Yanlış
el.innerHTML = decode(userInput)  →  script runs (XSS)
✓ Doğru
el.textContent = decode(userInput)  →  shown as text

Metin çift kodlanmışken yalnızca bir kez çözüldü

Çift kodlanmış metin iki çözme geçişi gerektirir. &lt; karakterini bir kez çözmek < verir, < değil. Tekrar çözün — ve boru hattını en baştan hiç çift kodlamayacak şekilde düzeltin.

✗ Yanlış
&amp;lt;  decoded once  →  &lt;  (still an entity)
✓ Doğru
&amp;lt;  decoded twice  →  <

HTML çözme, URL veya Base64 çözme ile karıştırıldı

Varlıklar, yüzde kodlaması ve base64 farklı şemalardır. Bir HTML çözücü %20 karakterini boşluğa çevirmez ya da bir base64 yığınını çözmez. Her kodlama katmanı için eşleşen aracı kullanın.

✗ Yanlış
HTML-decode "%3Cdiv%3E"  →  unchanged, still percent-encoded
✓ Doğru
URL-decode "%3Cdiv%3E"  →  <div>

Sayısal veya astral referansları kaçıran bir regex kullanıldı

Adlı varlıklar için elle yazılmış bir regex <, > ve 😀 gibi emojileri sessizce atlar, onları çıktıda bırakarak. Tüm referans biçimlerini kapsayan tarayıcı ayrıştırıcısını ya da test edilmiş bir kütüphaneyi kullanın.

✗ Yanlış
regex for &name; only  →  &#x1F600; left undecoded
✓ Doğru
full decoder  →  &#x1F600; becomes 😀

Çözmeden sonra çıktı mojibake olarak görüntülendi

é karakterini çözmek gerçek é'yi verir, ama alan sayfa ya da dosya UTF-8 olarak sunulmazsa karakter çöpe bozulur. Çözülmüş metni yazmadan önce karakter kümesini UTF-8 olarak ayarlayın.

✗ Yanlış
decoded é into a Latin-1 file  →  é mojibake
✓ Doğru
decoded é into a UTF-8 file  →  é

Katı ayrıştırma varsayıldı ve eski varlıklar kaçırıldı

Katı bir XML ayrıştırıcısı &copy gibi noktalı virgülsüz varlıkları yok sayar, onları düz bırakarak. Tarayıcılar bunları çözer, dolayısıyla sadık bir çözücü de çözmelidir — yoksa çıktınız kullanıcıların gördüğüyle çelişir.

✗ Yanlış
strict parse of "&copy 2026"  →  &copy 2026 literal
✓ Doğru
lenient parse of "&copy 2026"  →  © 2026

Bu Aracı Kimler Kullanır

Escape Edilmiş Biçimde Saklanan İşaretlemeyi Okuyun
Bir veritabanından, bir günlükten ya da <div>… olarak kaydedilmiş bir JSON alanından bir HTML parçacığı mı çektiniz? Bir varlık duvarına gözlerinizi kısarak bakmak yerine gerçek işaretlemeyi görüp düzenlemek için onu çözün.
Çift Kodlanmış Metni Ayıklayın
< olması gereken canlı bir sayfada &lt; mi görüyorsunuz? Çift kodlandığını doğrulamak için onu buraya yapıştırın, özgününü kurtarmak için iki kez çözün ve yinelenen escape'i boru hattınızdaki kaynağına kadar izleyin.
HTML Parçacıklarından Düz Metin Çıkarın
Escape edilmiş bir e-posta gövdesinden ya da CMS alanından okunabilir metni mi almanız gerekiyor? İçeriği başka yerde indekslemeden, aramadan ya da göstermeden önce gerçek karakterleri kurtarmak için varlıkları çözün.
Kazınmış veya Dışa Aktarılmış Verilerden Karakterleri Kurtarın
Dışa aktarmalar ve kazıyıcılar içeriği genellikle varlıklar yerinde teslim eder. Veri kendi sistemlerinize girmeden önce temiz olsun diye &, é ve benzerlerini tekrar karakterlerine çözün.
Bir Kodlayıcının Çıktısının Gidiş-Dönüş Yaptığını Doğrulayın
Bir dizeyi kodlayıcıyla escape ettikten sonra, özgününü değişmeden geri aldığınızı onaylamak için onu burada çözün. Temiz bir gidiş-dönüş, escape'inizin doğru ve geri alınabilir olduğunu kanıtlar.
Bir Gizem Varlığını Çözün
™ ya da … karakterinin gerçekte ne olduğunda mı takıldınız? Onu yapıştırın ve çözülmüş karakteri okuyun ya da yerleşik hızlı başvuru tablosuna bakın — varlık tablolarını ezberlemeye gerek yok.
Eski İşaretlemeyi Güvenle Çözün
&copy ya da &nbsp gibi noktalı virgülsüz varlıkları tutarsız kullanan eski HTML ile mi çalışıyorsunuz? Hoşgörülü çözücü, amaçlanan karakterleri gerçek bir tarayıcının yapacağı gibi kurtarır, böylece temizliğiniz kullanıcıların gerçekte gördüğüyle örtüşür.

Çözücü Nasıl Çalışır

Üç Referans Biçiminin Tümünü Çözer
Çözücü adlı referansları tam HTML5 adlı karakter tablosuyla eşleştirir, ondalık referansları (&#NNN;) 10 tabanlı kod noktaları olarak ayrıştırır ve on altılık referansları (&#xHHH;) 16 tabanlı kod noktaları olarak ayrıştırır. Her biri Unicode karakterine çözülür; üç biçim girdide birbirinin yerine geçer.
Astral Düzlem Yeniden Oluşturma
Kod noktası U+FFFF'i aşan sayısal referanslar — çoğu emoji ve birçok simge — karakterin tek bir glif olarak işlenmesi için doğru vekil çiftine dönüştürülür. 😀, iki bozuk yarım karakter değil 😀 olur.
Hoşgörülü Eski Varlık İşleme
Tanımlı bir adlı varlık alt kümesi tarihsel olarak sondaki noktalı virgül olmadan görünürdü ve tarayıcılar bunları hâlâ çözer. Çözücü bu davranışı yansıtır — &copy 2026, © 2026 verir — katı bir XML ayrıştırıcısı yerine gerçek bir tarayıcının işlemesiyle eşleşerek.
Düz Metinde Idempotent
Tanınan bir referansın parçası olmayan karakterler, girdide zaten bulunan ham ASCII dışı metin dahil, dokunulmadan geçer. Hiç varlık içermeyen bir dizeyi çözmek onu değişmeden döndürür, böylece işlem karışık içerikte çalıştırmak için güvenlidir.
Çözülmüş Çıktı Unescape Edilmiştir
Çözme, XSS koruyucu escape'in tersidir, dolayısıyla sonuç yine canlı işaretlemedir. Araç bunu öne çıkarır, böylece çözülmüş güvenilmeyen metni innerHTML ile bir sayfaya eklemezsiniz — işlemeden önce varış bağlamında yeniden escape edin.
Tarayıcıda Yerel, Sıfır Ağ
Çözme, ana iş parçacığında JavaScript ile eşzamanlı çalışır; API çağrısı, sunucu gidip gelmesi ya da kalıcılık yoktur. Girdi sayfadan hiç ayrılmaz; bunu yazarken boş bir Network panelini izleyerek doğrulayabilirsiniz.

HTML Unescape En İyi Uygulamaları

Çözülmüş Güvenilmeyen Metni Asla Doğrudan İşlemeyin
Çözülmüş çıktı unescape edilmiş işaretlemedir. Herhangi bir kısmı bir kullanıcıdan ya da harici bir kaynaktan geldiyse, bir sayfaya eklemeden önce yeniden escape edin ya da innerHTML yerine textContent ile atayın. Bunu atlamak, escape'in kapatması gereken siteler arası betik çalıştırma açığını yeniden açar.
Kodlamanın Ters Sırasında Çözün
Bir değer önce HTML kodlanmış, sonra URL kodlanmış, sonra Base64 kodlanmış olabilir. Katmanları uygulandıklarının ters sırasında geri alın — ve her biri için eşleşen aracı kullanın: varlıklar için bunu, yüzde kodlaması için URL çözücüyü, base64 için Base64 aracını.
Bir Kez Çözün, Refleksle Değil
Tek bir çözme < gibi görünür varlıklar bırakıyorsa, girdi çift kodlanmıştır — özgünü kurtarmak için tekrar çözün, sonra yukarı akış boru hattını metin tam olarak bir kez escape edilecek şekilde düzeltin. Körü körüne döngülemeyin; ek katmanın neden var olduğunu anlayın.
Sonucu UTF-8 Olarak Sunun
Sayısal referansları çözmek gerçek Unicode karakterleri üretir — aksanlar, simgeler, emojiler. Çözülmüş metni alan sayfanın, dosyanın ya da alanın UTF-8 olduğundan emin olun, yoksa o kurtarılmış karakterler mojibake olarak görünür.
Uygulama Kodunda Test Edilmiş Bir Kütüphaneyi Tercih Edin
Tek seferlik dönüşümler için bu araç idealdir; üretimde, sayısal referansları, astral karakterleri ve eski varlıkları rutin olarak kaçıran elle yazılmış bir regex yerine iyi test edilmiş bir kütüphaneyle (Node'da he, ayrı bir textarea aracılığıyla tarayıcının kendi ayrıştırıcısı) çözün.

Sıkça Sorulan Sorular

Çözdüğümde metnim sunucunuza gönderiliyor mu?
Hayır. Her varlık tamamen tarayıcınızda JavaScript ile çözülür — DevTools → Network'ü açın, yazdığınızda veya yapıştırdığınızda sıfır istek tetiklendiğini göreceksiniz. Hiçbir şey yüklenmez, hiçbir şey günlüğe yazılmaz, hiçbir şey diske kaydedilmez. Bu gizlilik önemlidir, çünkü insanların çözdüğü escape edilmiş dizeler genellikle hassastır: özel bir veritabanından çekilmiş bir parça, dahili bir e-posta, bir müşteri kaydı ya da sızmasını istemediğiniz bir uygulamadan kopyalanmış işaretleme. Sunucu taraflı bir çözücüde bunların her biri kontrol etmediğiniz bir makineye, ağ üzerinden giderdi; burada metin sekmeden hiç ayrılmaz. HTML'i istemci tarafında çözmenin, işlediği her şeyin bir kopyasını ilkesel olarak tutabilecek bir web sitesine yapıştırmak yerine tercih edilmesinin bütün nedeni budur.
HTML'i çözmek ya da unescape etmek ne demektir?
HTML'i çözmek — unescape etmek olarak da bilinir — HTML escape'inin tersidir: <, &, < ya da © gibi karakter referanslarını alır ve her birini temsil ettiği gerçek karaktere geri çevirir (<, &, <, ©). Buna, escape edilmiş biçiminde saklanan ya da iletilen bir dizeniz olduğunda ve düz metni geri istediğinizde başvurursunuz — okumak, düzenlemek, başka bir programa vermek ya da bir sayfanın neden ekranda < yerine &lt; gösterdiğini ayıklamak için. Diğer yöne gidip karakterleri varlıklara çevirmek istiyorsanız, eşlik eden HTML Varlık Kodlayıcı'yı kullanın; ikisi tam terslerdir.
Bu çözücü hangi tür varlıkları işleyebilir?
Üç biçimin tümünü, herhangi bir karışımda. Adlı referansları (<, &, ©, — ve tam HTML5 adlı varlık kümesi), ondalık sayısal referansları (<, é) ve on altılık sayısal referansları (<, é) çözer. Ayrıca U+FFFF üzerindeki astral düzlem karakterlerini sayısal referanslarından yeniden oluşturur, böylece 😀 gibi bir emoji doğru biçimde 😀 olarak çözülür. Ve sondaki noktalı virgülü atlayan bir avuç eski adlı varlık için tarayıcının hoşgörülü ayrıştırmasını izler — &copy 2026 yine de © 2026 olarak çözülür — ki katı ayrıştırıcılar bunu atlardı. Kısacası, bir kodlayıcının ürettiği her ne ise, bu çözücü onu tersine çevirir.
Metnim neden < yerine &lt; gösteriyor?
Bu, çift kodlamanın klasik belirtisidir. Boru hattınızın bir yerinde metin iki kez escape edildi: ilk geçiş < karakterini < yaptı ve ikinci geçiş < içindeki & karakterini & yaparak &lt; üretti. Tarayıcı bunu bir kez çözdüğünde, < yerine düz metin < gösterir. Özgününü kurtarmak için iki kez çözün — dizeyi buraya yapıştırarak < alın, sonra o sonucu tekrar yapıştırarak < alın. Asıl düzeltme yukarı akıştadır: çıktı zamanında tam olarak bir kez escape edin, böylece metin en baştan hiç çift kodlanmaz.
Çözülmüş çıktıyı bir sayfaya geri koymak güvenli mi?
Burada dikkatli olun. Çözme, escape'in tersidir, dolayısıyla çözülmüş metin tanımı gereği unescape edilmiştir — bir <script> etiketi ya da bir onerror işleyicisi içeriyorsa, o işaretleme artık yeniden canlıdır. Güvenilmeyen girdiyi alıp çözüp sonucu innerHTML ile sayfanıza asla eklemeyin, yoksa escape'in kapatması gereken siteler arası betik çalıştırma (XSS) açığını tam olarak yeniden açarsınız. Çözme, ham karakterleri okumak, düzenlemek ya da saklamak için gerektiğinde doğru harekettir; ancak HTML'e geri işlenecek her şey, varış bağlamında yeniden escape edilmelidir. Çözülmüş sonucu gösterecekseniz, önce onu HTML Varlık Kodlayıcı'dan tekrar geçirin.
Çözme, ASCII dışı karakterleri ve emojileri doğru işler mi?
Evet. Sayısal referanslar herhangi bir Unicode kod noktasını kodlayabilir ve çözücü hepsini çözer — aksanlı harfler (é → é), simgeler (€ → €), uzun tireler (— → —) ve tam düzlem emojiler (😀 → 😀). U+FFFF üzerindeki astral karakterler için bozuk bir yarım karakter üretmek yerine tam kod noktasını yeniden oluşturur. Girdide zaten bulunan ham ASCII dışı karakterler dokunulmadan geçer, böylece gerçek UTF-8 ile varlıkları karıştıran bir dize, hiçbir tarafı bozmadan temizce çözülür. Kurtarılan karakterlerin doğru görünmesi için sonucu yapıştırdığınız sayfanın ya da dosyanın UTF-8 olarak sunulduğundan emin olun.
Metni nasıl tekrar varlıklara kodlarım?
Eşlik eden HTML Varlık Kodlayıcı'yı kullanın. <div> & © gibi ham karakterleri alır ve onları <div> & © olarak escape eder; adlı, ondalık ya da hex çıktı ve eski karakter kümeleri için "tüm ASCII dışını kodla" modu seçenekleriyle. Kodlama ve çözme, ayrılmış karakterler için tam terslerdir, dolayısıyla metni her iki araçtan kayıpsız geçirebilirsiniz. Bu sayfadaki Yönü değiştir düğmesiyle doğrudan oraya atlayabilirsiniz.
Bu, URL çözme ya da Base64 çözme ile aynı şey mi?
Hayır — bunlar üç farklı iş için üç farklı kodlamadır ve onları birbirine karıştırmak yaygın bir hata kaynağıdır. HTML varlık çözme < karakterini tekrar < yapar. URL (yüzde) çözme %20 karakterini tekrar boşluğa çevirir ve sorgu dizeleri ile yollar içindir — bunun için URL Kodlayıcı / Çözücü aracını kullanın. Base64 çözme bir base64 dizesini özgün baytlarına geri çevirir ve ikili güvenli taşıma içindir — Base64 Kodla / Çöz aracını kullanın. Bir değer bunların birden fazlasıyla sarılmış olabilir, bu yüzden onları uygulandıklarının ters sırasında çözün. Bu araç yalnızca HTML varlıklarını işler.