HTML Varlık Kodlayıcı / Çözücü
Düz metni HTML varlıklarına (&, <, ©) dönüştürün veya varlıkları tekrar okunabilir karakterlere çözün. Metninizi yapıştırın, kodlama ya da çözme işlemini seçin ve sonucu kopyalayın.
HTML Varlıklarını Kodla veya Çöz
HTML Varlıkları Formülü
Burada:
- \(E(c)\) — tek bir \(c\) giriş karakteri için kodlanmış çıktı
- \(S\) — HTML'ye özel beş karakter:
&,<,>,"ve' - \(n(c)\) — karakterin adlandırılmış varlığı; örneğin
&karakteri&olur - \(r(c)\) — ondalık sayısal referans:
&#ardından Unicode kod noktası ve noktalı virgül; örneğin©karakteri©olur - \(\mathrm{cp}(c)\) — \(c\) karakterinin Unicode kod noktası; bu dal yalnızca ASCII dışı dönüşüm etkinleştirildiğinde uygulanır
Kodlama, HTML'ye özel her karakteri adlandırılmış varlığıyla değiştirir ve isteğe bağlı olarak kod noktası 127'nin üzerindeki her karakteri sayısal referansla değiştirir. Çözme bunun tersi işlemdir: adlandırılmış, ondalık ve onaltılık referanslar temsil ettikleri karakterlere geri dönüştürülür.
HTML Varlıkları – Hesaplama Örneği
Örnek: varsayılan metin olan Tom & Jerry said "5 < 10" — it's © WPCalc üzerinde, "ASCII Dışı Karakterler" seçeneği "Sayısal varlıklara dönüştür" olarak ayarlanmışken kodlama yapılıyor.
\[ \text{uzun tire: kod noktası } 8212 \;\to\; \text{sayısal referans}, \qquad \text{telif hakkı işareti: kod noktası } 169 \;\to\; \text{sayısal referans} \]
Sonuç: Tom & Jerry said "5 < 10" — it's © WPCalc
Varlık Özeti altı farklı dönüşüm listeler: & → &, " → " (iki kez), < → <, ' → ', — → — ve © → ©.
HTML Varlıkları Hesaplayıcısı Nasıl Kullanılır
- İçeriğinizi Metin veya HTML Kodlu Dize kutusuna yapıştırın — kodlamak için düz metin, çözmek için
&,<veya©gibi varlıklar içeren metin. - İşlem ayarını Kodla → HTML varlıkları veya Varlıkları çöz → düz metin olarak belirleyin.
- Kodlarken ASCII Dışı Karakterler (yalnızca kodlama) seçeneğinin nasıl işleneceğini belirleyin: Sayısal varlıklara dönüştür (© → ©) veya Olduğu gibi bırak. Bu ayar çözme sırasında yok sayılır.
- Sonucu Dönüştürülmüş Çıktı altında okuyup kopyalayın. Varlık Özeti, her biri için sayı vererek yapılan tüm dönüşümleri listeler; çözme sırasında değiştirilmeden bırakılan tanınmayan varlıkları da işaretler.
HTML Varlıkları Nedir?
HTML varlığı, tek bir karakteri temsil eden bir kaçış dizisidir. Üç eşdeğer biçimde bulunur: & ve © gibi adlandırılmış referanslar, © gibi ondalık sayısal referanslar ve © gibi onaltılık referanslar. Telif hakkı işaretinin bu üç biçimi de tarayıcıda tam olarak aynı karakter olarak görüntülenir; bu nedenle bunları serbestçe karıştırabilirsiniz.
Varlıklar, bazı karakterlerin HTML'de yapısal bir anlam taşıması nedeniyle vardır. Bir ampersan bir referansın başlangıcıdır; < ve > ise etiketleri sınırlandırır. Metninizdeki çıplak bir < karakteri bir etiketin başlangıcı olarak ayrıştırılabilir ve ardından gelen kelimeleri sessizce yutabilir; başıboş bir & ise işaretlemeyi geçersiz kılar. Bu karakterleri varlıklarla değiştirmek, harfi harfine metin olarak görüntülenmelerini garanti eder.
Kaçış ayrıca temel bir güvenlik önlemidir. Kullanıcı tarafından sağlanan bir girdinin — yorum, arama terimi, hata mesajı — sayfaya geri yansıtıldığı her durumda < karakterini kaçırılmamış bırakmak, bir saldırganın işaretleme veya betik enjekte etmesine izin verir. Beş özel karakterin kodlanması en yaygın enjeksiyon yollarını etkisiz hale getirir. Sayısal referansların bir faydası daha vardır: uzun tiren emojiye kadar herhangi bir Unicode karakterini, aksi halde tamamen ASCII olan bir dosyaya gömmenizi sağlar.
Çözerken şunu unutmayın: bölünemez boşluğa (U+00A0) dönüşür; bu, sıradan bir boşluk gibi görünür ancak satır kaydırmada ve aramalarda farklı davranır. Çözücü, en yaygın HTML5 adlandırılmış referanslarını ve geçerli tüm sayısal referansları tanır; tanımadığı her şey olduğu gibi bırakılır ve özetin altında bildirilir.
Yaygın HTML Varlıkları Başvuru Tablosu
| Karakter | Adlandırılmış | Ondalık | Tipik kullanım |
|---|---|---|---|
| & | & |
& |
Sorgu dizileri, öznitelik değerleri |
| < | < |
< |
Kod örnekleri, matematiksel karşılaştırmalar |
| > | > |
> |
Kod örnekleri, kapanış parantezleri |
| " | " |
" |
Özniteliklerde çift tırnak |
| ' | ' |
' |
Kesme işaretleri (HTML4 uyumlu biçim) |
| © | © |
© |
Telif hakkı bildirimleri |
| — | — |
— |
Noktalamada uzun tire |
| … | … |
… |
Üç nokta |
| ™ | ™ |
™ |
Marka işareti |
| (boşluk) | |
|
Bölünemez boşluk |
| € | € |
€ |
Para tutarları |
| ° | ° |
° |
Sıcaklıklar, açılar |
İpuçları ve Sınırlamalar
- Çift kodlamadan kaçının: zaten varlık içeren bir metinde kodlayıcıyı çalıştırmak
&ifadesini&amp;yapar. Tek bir geçiş istiyorsanız önce çözün, sonra yeniden kodlayın. - Kesme işareti, HTML5'e özgü
'yerine'olarak kodlanır; böylece çıktı HTML 4 belgelerinde de geçerli kalır. - Kodlama yalnızca HTML'ye özel beş karakteri ve (isteğe bağlı olarak) ASCII dışı karakterleri değiştirir; aksanlı Latin harflerine yalnızca sayısal referans seçeneği açıkken dokunulur.
- HTML varlıkları URL kodlaması değildir.
%26gibi yüzde kaçışları URL'lere aittir — bunlar için bu aracı değil, URL Kodlayıcı veya URL Çözücü aracını kullanın. - Bir karakteri dönüştürmeden önce kod noktasına bakmak isterseniz ASCII Dönüştürücü sayısal değeri doğrudan gösterir.
- Karakter düzeyinde kaçış yerine metin bloklarının taşımaya uygun bir temsilini istiyorsanız Base64 Kodlayıcı genellikle daha iyi bir seçimdir.
Sıkça Sorulan Sorular
Araç kullanmadan HTML varlıklarını elle nasıl kodlarım?
Metninizi beş özel karakter için tarayın ve her birini değiştirin: & → &, → >, " → ", ' → '. Diğer semboller için karakterin Unicode kod noktasını bulun ve noktalı virgülle birlikte &#...; biçiminde yazın — örneğin © karakterinin kod noktası 169'dur, bu yüzden © yazarsınız. Onaltılık biçim de işe yarar: © aynı şekilde görüntülenir. Ampersanları her zaman önce kodlayın; önce < karakterini değiştirirseniz ve ortada bir & kalırsa sonuç ayrıştırıcıyı yine şaşırtabilir.
Metnim küçüktür işareti yerine neden < olarak görünüyor?
Metniniz çift kodlanmış: < karakteri < haline getirilmiş, sonra bu varlıktaki & yeniden kodlanarak < üretilmiş. Bunu iki kez çözerek düzeltin — ilk geçiş <, ikinci geçiş < verir. Sorunu önlemek için yeniden kodlamadan önce mevcut varlıkları çözün ve zaten kaçışı yapılmış bir dizede asla kodlayıcıyı çalıştırmayın. Varlık Özeti, çift kodlanmış & girdilerini fark etmenize yardımcı olur.
HTML varlıkları ile URL kodlaması (yüzde kodlama) arasındaki fark nedir?
Farklı sorunları çözerler. HTML varlıkları (&, ©) karakterleri bir tarayıcının bunları bir web sayfasında güvenle görüntülemesi için kaçırır. Yüzde kaçışları (%26, %C2%A9) karakterleri, boşlukların, & ve = işaretlerinin özel anlam taşıdığı URL'lerde ve sorgu dizilerinde kullanılmak üzere kaçırır. Bir HTML sayfasına %26 yapıştırırsanız ampersan olarak değil, %26 olarak görünür. İşaretleme için bu aracı, bağlantılar için bir URL kodlayıcıyı kullanın.
HTML'yi güvenli kılmak için hangi karakterler her zaman kodlanmalıdır?
En azından ampersan ile küçüktür ve büyüktür işaretleri; çünkü & bir varlık referansını başlatır ve < bir etiket açar. Tırnak işaretlerini kaçırmak esas olarak öznitelik değerlerinin içinde önemlidir: " → " ve ' → ' dönüşümleri bir öznitelik değerinin erken sonlandırılmasını engeller. Kullanıcı tarafından gönderilen içeriği — yorumlar, arama terimleri, form değerleri — görüntülerken bu karakterlerin kodlanması en yaygın HTML ve betik enjeksiyonu tekniklerini engeller; çünkü saldırganın yazdığı her etiket zararsız, görünür metin olarak görüntülenir.
é, © veya — gibi ASCII dışı karakterleri sayısal varlıklara dönüştürmeli miyim?
Bu, dosyanızın karakter kodlamasına bağlıdır. Belgeniz UTF-8 (charset=utf-8) olarak bildirilmişse aksanlı harfleri, tireleri ve sembolleri olduğu gibi bırakabilirsiniz — tarayıcılar bunları doğal olarak işler ve kaynak okunabilir kalır. Bunları © gibi sayısal referanslara dönüştürmek dosyanın tamamen ASCII olmasını garanti eder; bu, kodlama bilinmediğinde, HTML e-postayla gönderildiğinde veya Unicode'u bozan sistemlere yapıştırırken işe yarar. Emoji de tam kod noktasıyla sayısal referans olarak sorunsuz çalışır.
Metnimi çözdükten sonra neden garip davranıyor?
Çünkü normal boşluğa (U+0020) değil, bölünemez boşluğa (U+00A0) çözülür. Görünüşte aynıdırlar, ancak bölünemez olan satırın o noktada kırılmasını engeller, dize karşılaştırmalarını ve aramaları bozabilir ve boşluklara göre kırpma ya da bölme yapan kodu rahatsız edebilir. Çözülmüş metniniz görünmez farklar içeriyorsa U+00A0 karakterini sıradan boşluklarla değiştirmeyi deneyin — çoğu metin düzenleyici bu karakteri doğrudan veya sayısal biçimi üzerinden arayabilir.
Kesme işareti için ', ' ve ' arasındaki fark nedir?
Üçü de tek tırnak karakterini temsil eder. ' ondalık sayısal referans, ' ise onaltılık eşdeğeridir — ikisi de her yerde geçerlidir. ' ise yalnızca HTML5 ile tanıtılan adlandırılmış bir referanstır; eski HTML 4 ayrıştırıcıları bunu tanımaz, bu yüzden birçok kodlayıcı (bu araç dahil) en yüksek uyumluluk için sayısal biçimi üretir. Uygulamada her modern tarayıcı üçünü de aynı şekilde görüntüler; bu nedenle karakteri kaybetmeden serbestçe çözüp yeniden kodlayabilirsiniz.