Utilia

HTML ентитита: кодиране и декодиране

Заменете специалните символи с HTML ентитита (именувани, десетични или hex) или декодирайте всяко ентитито с пълния списък от 2231 именувани препратки от HTML5.

Опции за кодиране

Как да кодирате или декодирате HTML ентитита

  1. Поставете текста или HTML кода в полето за вход.
  2. За да го кодирате, изберете кои символи да се заменят: Само & < > " ‘ или Също и всеки не-ASCII символ, и изберете Формат на ентитито: Именувано (&eacute;), Десетично (&#233;) или Шестнадесетично (&#xE9;).
  3. Щракнете Кодирай или щракнете Декодирай, за да превърнете ентититата обратно в символи.
  4. Прочетете броя в реда със състоянието, после щракнете Копирай. Използвай резултата като вход премества резултата във входното поле, например за да проверите двупосочно преобразуване.

Кодиране: кога и какво да се заменя

В HTML пет символа могат да се сбъркат с маркиране. Само & < > " ‘ заменя точно тях: & с &amp;, < с &lt;, > с &gt;, " с &quot; и ' с &#39;. Това е нужно, за да покажете код на уеб страница, да поставите потребителски текст в атрибут или да вмъкнете фрагмент в публикация в блог или поле на CMS, което очаква HTML. Апострофът използва числовата форма, защото &apos; не е съществувало в HTML 4 и някои по-стари парсери не го познават.

Също и всеки не-ASCII символ допълнително заменя всичко извън печатния ASCII: букви с диакритични знаци, типографски кавички, знака за евро, неразкъсваеми интервали, емоджита и т.н. Резултатът е чист ASCII, което е полезно за системи, които повреждат UTF-8, за шаблони на имейли или за да направите невидими символи като &nbsp; видими в кода. Кирилицата също се замества с ентитита, така че български текст става поредица от препратки.

Формат на ентитито определя как се записват символите:

  • Именувано (&eacute;) използва четимо име, когато HTML го определя (&eacute;, &euro;, &hellip;), като предпочита класическото име от HTML 4, когато символът има няколко. Символите без име, като емоджита, се записват десетично.
  • Десетично (&#233;) записва кодовата точка на Unicode в десетична система.
  • Шестнадесетично (&#xE9;) я записва в шестнадесетична, което съвпада със записа U+00E9 в таблиците на Unicode.

И трите се разбират от всеки браузър. Символи извън основната многоезична равнина, като 😀, се кодират като една препратка към пълната кодова точка (&#128512;), а не като две суррогатни половини.

Декодиране: правилата на HTML5

Декодирай следва правилата, които браузърите използват при четене на текстово съдържание, с пълния списък от 2231 именувани препратки към символи от HTML Living Standard:

  • именувани препратки като &eacute;, &rarr; или &NotEqualTilde; (някои дават две кодови точки);
  • десетични (&#233;) и шестнадесетични (&#xE9; или &#XE9;) препратки, със или без крайната точка и запетая;
  • стари имена, които браузърите приемат без точка и запетая, като &copy 2026 или &amp – и както в браузърите, &notit; става ¬it;, защото &not е такова старо име;
  • числови препратки в диапазона 128–159 се съпоставят със символите на Windows-1252, които браузърите показват (&#150; дава тире), а &#0;, суррогатите и стойностите над U+10FFFF стават символът за заместване �.

Непознати имена като &foo; се оставят без промяна и се броят в реда със състоянието. Декодирането се прави от собствения парсер на инструмента, а не чрез вмъкване на текста ви в страницата, така че никакво маркиране или скрипт във входа никога не се интерпретира.

Често задавани въпроси

Трябва ли да кодирам буквите с диакритични знаци?

Обикновено не. Страница, подадена като UTF-8, може да съдържа é или € директно. Кодирането на не-ASCII е нужно само когато файлът или системата по пътя не могат да работят с UTF-8.

Защо &amp;amp; се декодира до &amp;, а не до &?

Декодирането се прави веднъж, както го прави браузърът. &amp;amp; е ескейпнато &amp;. Щракнете Използвай резултата като вход и Декодирай отново, ако текстът е бил кодиран два пъти.

Каква е разликата между това и URL кодирането?

HTML ентититата ескейпват текст за HTML документи. URL кодирането (%20, %C3%A9) ескейпва текст за уеб адреси. Използвайте инструмента за URL кодиране за връзки и параметри на заявки.

Изпраща ли се текстът ми към сървър?

Не. Кодирането и декодирането се изпълняват във вашия браузър. От този сайт се зарежда само списъкът с имена на ентитита, когато декодирате за първи път.

Декодира ли ентитита в атрибути по различен начин?

Браузърите обработват няколко стари имена без точка и запетая различно в стойности на атрибути. Този инструмент използва правилата за текстово съдържание, които съвпадат с това, което виждате на страницата.