HTML кодировки

Для того, чтобы браузер смог правильно отобразить текст на веб-странице, необходимо указать ее кодировку. В противном случае вместо текста на веб-странице будут отображаться непонятные символы.

Кодировку указывают в теге <meta> который находится в блоке <head>.

Пример

<head>
  <meta charset="utf-8">
</head>
В HTML 5 для указания кодировки используется атрибут charset: <meta charset="utf-8">

Рассмотрим основные виды кодировок

Кодировка ASCII

ASCII (American Standard Code for Information Interchange), американский стандартный кодекс для обмена информацией между компьютерными и аппаратными устройствами был придуман в 60 годах прошлого века. ASCII - 7-битная кодовая таблица, которая содержит 128 символов (цифры от 1 до 9, прописные и строчные латинские буквы, специальные символы). Современные системы кодировки, такие как ISO-8859 и UTF-8, разработаны на основе ASCII.

html-ascii-character-set

Печатные символы ASCII

ANSI

Со временем стандарт кодировки ASCII расширялся, появилась возможность использовать не 128, а 256 символов, которые можно закодировать в одном байте информации. Одной из расширенных версий ASCII является ANSI (American National Standards Institute). Примером ANSI-кодировки является Windows-1251, которая включает типографические символы, а также буквы алфавитов славянских народов.

ISO-8859-1

Организация Международных стандартов (International Standards Organization) ввела диапазон кодировок для разных языков, от ISO 8859-1 до ISO 8859-16.

В большинстве браузеров по умолчанию используется кодировка ISO-8859-1. Кодировка символов от 0 до 127 в ISO-8859-1 соответствует кодировке ASCII (цифры от 1 до 9, заглавные и строчные буквы английского алфавита и несколько спецсимволов).

В HTML 4 любая кодировка, отличная от стандарта ISO-8859-1, должна быть указана в теге <meta> .

Таблица кодов символов ISO-8859-1

<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-8">

Кодировка Unicode

В 1991 году был разработан универсальный стандарт кодирования Unicode Transformation Format (UTF), благодаря которому стало возможным представить знаки практически всех известных письменных языков. Разработчиками стандарта была некоммерческая организация Unicode Consortium.

Первой была разработана кодировка UTF-32, затем UTF-16, и наконец появился стандарт UTF-8.

В UTF-32 для кодирования одного символа использовалось 32 бита (4 байта), что увеличивало вес конечного файла в 4 раза. В UTF-16 вес снизился вдвое, так как для кодирования использовалось уже 16 бит, но и это было далеко не оптимальным решением. Разработанный впоследствии стандарт UTF-8 на сегодняшний день считается самым оптимальным. Для кодирования одного символа в UTF-8 используется от 1 до 4 байт. Он идеально совмещается с системами, которые используют 8-битные символы.

UTF-8 унаследовал базовую часть кодировки ASCII (128 символов), то есть для кодировки латинских символов используется 8 бит (1 байт). Все последующие символы кодируются двумя байтами и более.

HTML4 поддерживает только кодировку UTF-8. В HTML5 поддерживаются как UTF-8, так и UTF-16.

Таблица кодов символов UTF-8

Знаки с кодами от U+0400 до U+052F, от U+2DE0 до U+2DFF, от U+A640 до U+A69F кодируют символы кириллицы.

Практикуйте свои знания

Какие кодировки могут быть использованы в HTML?
Считаете ли это полезным?