Подтвердить что ты не робот

HTML5: что лучше - использование символьной сущности против персонажа напрямую?

Недавно я заметил множество сайтов с высоким профилем, используя символы непосредственно в их источнике, например:

<q>"Hi there"</q>

Вместо

<q>&ldquo;Hi there&rdquo;</q>

Какой из них является предпочтительным? Я всегда использовал объекты в прошлом, но использование символа напрямую кажется более читаемым и похоже на ОК в документе Unicode.

4b9b3361

Ответ 1

Если кодировка UTF-8, нормальные символы будут работать нормально, и нет причин не использовать их. Браузеры, которые не поддерживают UTF-8, будут иметь множество других проблем при отображении современной веб-страницы, поэтому не беспокойтесь об этом.

Так что проще и понятнее использовать символы, и я бы предпочел сделать это.

Он также сохраняет пару байтов, которые хороши, хотя есть намного больше, чтобы выиграть, используя сжатие и минимизацию.

Ответ 2

Основным преимуществом, которое я могу видеть с символами кодирования, является то, что они будут выглядеть правильно, даже если страница интерпретируется как ASCII.

Например, если ваша страница является только сырым HTML файлом, настройки по умолчанию на некоторых серверах будут служить ей как text/html; charset=ISO-8859-1 (default в HTTP 1.1). Даже если вы установите метатег для типа контента, заголовок HTTP имеет более высокий приоритет.

Неважно, зависит ли это от того, насколько вероятно, что страница будет обслуживаться неправильно сконфигурированным сервером.

Ответ 3

Использование символов напрямую. Их легче читать в источнике (что важно, поскольку люди действительно должны их редактировать!) И требуют меньшей пропускной способности.

Ответ 4

Приведенный пример определенно неверен, как в теории, так и на практике, в HTML5 и в HTML 4. Например, обсуждение HTML5 q markup говорит: "Пунктуация цитаты (например, кавычки), которая цитирует содержимое элемента, не должна отображаться непосредственно перед, после или внутри q элементов, они будут вставлены в рендеринг пользовательским агентом".

То есть, используйте либо разметку "q", либо знаки препинания, а не оба. Последнее лучше всего на всех практических занятиях.

Что касается вопроса о ссылках на символы и сущности, то первые предпочтительнее для удобочитаемости, но тогда вам нужно знать, как сохранять данные как UTF-8 и правильно объявить кодировку. Это не ракетостроение, а обычно лучше. Но если ваша среда разработки UTF-8 враждебна, вам не нужно стыдиться использования ссылок на сущности.