Кодировки utf-8 и windows 1251
Содержание:
- Инструкция по восстановлению кодировки
- Кодировки стандарта UNICODE
- cp866
- Зачем нужна кодировка
- KOI8
- 10000000 – 11111111
- 1251 – кодовая страница Windows
- Виды кодировок
- Окно «Параметры страницы»
- Как определить кодировку на сайте
- Базы банных
- Кодировка windows 1251 в сайтостроении
- Кодировка UTF-8 (Unicode Transformation Format)
- Кодирование текстовой информации
- 866 – кодовая страница DOS
- Какими бывают
- Таблицы
- Таблица Windows-1251
Инструкция по восстановлению кодировки
Ситуация, когда в командной строке присутствуют непонятные символы, вопросительные знаки или иероглифы довольна распространенная.
Однако исправить положение возможно самостоятельно, не прибегая к помощи специалистов.
Сразу стоит отметить, что это первый признак того, что в седьмом Windows слетела кодировка 1251.
С восьмой версии активно используют UTF-8.
Для того, чтобы решить задачу максимально быстро, возможно использование команды CHCP 866, но это только временная мера и в полной мере проблему она не решит.
Как правило, реестр используется для основательного решения проблемы:
- Исправляем в строке на десятичное значение
- Чтобы править, произошли ли изменения, достаточно открыть и снова вызвать командную строчку.
Кодировки стандарта UNICODE
Юникод (англ. Unicode) — стандарт кодирования символов, позволяющий представить знаки почти всех письменностей мира, и специальных символов. Представляемые в юникоде символы кодируются целыми числами без знака. Юникод имеет несколько форм представления символов в компьютере: UTF-8, UTF-16 (UTF-16BE, UTF-16LE) и UTF-32 (UTF-32BE, UTF-32LE). (Англ. Unicode transformation format — UTF).UTF-8 — это в настоящее время распространённая кодировка, которая нашла широкое применение в операционных системах и веб-пространстве. Текст, состоящий из символов Unicode с номерами меньше 128 (область с кодами от U+0000 до U+007F), содержит символы набора ASCII с соответствующими кодами. Далее расположены области знаков различных письменностей, знаки пунктуации и технические символы. Под символы кириллицы выделены области знаков с кодами от U+0400 до U+052F, от U+2DE0 до U+2DFF, от U+A640 до U+A69F.
Кодировка UTF-8 является универсальной и имеет внушительный резерв на будущее. Это делает ее наиболее удобной кодировкой для использования в интернете.
HTML Символы
Кодирование URL
cp866
В консоли русифицированных систем семейства Windows NT используется кодировка . Первая часть таблицы кодировки (латиница) полностью соответствует кодировке ASCII. Вторая часть (под символами указаны шестнадцатеричные коды Unicode):
Для кодировки cp866 существуют разновидности (чувашская, ГОСТ 19768-87 и т.д.).
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
8 | А 0410 | Б 0411 | В 0412 | Г 0413 | Д 0414 | Е 0415 | Ж 0416 | З 0417 | И 0418 | Й 0419 | К 041A | Л 041B | М 041C | Н 041D | О 041E | П 041F |
9 | Р 0420 | С 0421 | Т 0422 | У 0423 | Ф 0424 | Х 0425 | Ц 0426 | Ч 0427 | Ш 0428 | Щ 0429 | Ъ 042A | Ы 042B | Ь 042C | Э 042D | Ю 042E | Я 042F |
A | а 0430 | б 0431 | в 0432 | г 0433 | д 0434 | е 0435 | ж 0436 | з 0437 | и 0438 | й 0439 | к 043A | л 043B | м 043C | н 043D | о 043E | п 043F |
B | ░ 2591 | ▒ 2592 | ▓ 2593 | │ 2502 | ┤ 2524 | ╡ 2561 | ╢ 2562 | ╖ 2556 | ╕ 2555 | ╣ 2563 | ║ 2551 | ╗ 2557 | ╝ 255D | ╜ 255C | ╛ 255B | ┐ 2510 |
C | └ 2514 | ┴ 2534 | ┬ 252C | ├ 251C | ─ 2500 | ┼ 253C | ╞ 255E | ╟ 255F | ╚ 255A | ╔ 2554 | ╩ 2569 | ╦ 2566 | ╠ 2560 | ═ 2550 | ╬ 256C | ╧ 2567 |
D | ╨ 2568 | ╤ 2564 | ╥ 2565 | ╙ 2559 | ╘ 2558 | ╒ 2552 | ╓ 2553 | ╫ 256B | ╪ 256A | ┘ 2518 | ┌ 250C | █ 2588 | ▄ 2584 | ▌ 258C | ▐ 2590 | ▀ 2580 |
E | р 0440 | с 0441 | т 0442 | у 0443 | ф 0444 | х 0445 | ц 0446 | ч 0447 | ш 0448 | щ 0449 | ъ 044A | ы 044B | ь 044C | э 044D | ю 044E | я 044F |
F | Ё 0401 | ё 0451 | Є 0404 | є 0454 | Ї 0407 | ї 0457 | Ў 040E | ў 045E | ° 00B0 | ∙ 2219 | · 00B7 | √ 221A | № 2116 | ¤ 00A4 | ■ 25A0 | 00A0 |
Зачем нужна кодировка
Кодировка (Charset) — способ отображения кода на экране, соответствие набора символов набору числовых значений. О ней сообщает строка Content-Type и сервер в header запросе.
Студентка списывала реферат с формулами, а на сайте слетела кодировка. Реальная история
Google рекомендует всегда указывать сведения о кодировке, чтобы текст точно корректно отображался в браузере пользователя.
Кодировка влияет на SEO?
Разберемся, как кодировка на сайте влияет на индексацию в Яндекс и Google.
Яндекс четко заявляет:
Позиция Google такая же. Поисковики не рассматривают Charset как фактор ранжирования или сигнал для индексирования, тем не менее, она косвенно влияет на трафик и позиции.
Если кодировка сервера не совпадает с той, что указана на сайте, пользователи увидят нечитабельные символы вместо контента. На таком сайте сложно что-либо понять, так что скорее всего пользователи сбегут, а на сайте будут расти отказы.
Пример страницы со слетевшей кодировкой
Поэтому она важна для SEO, хоть и влияет на него косвенно через поведенческие. Пользователи должны видеть читабельный текст на человеческом языке, чтобы работать с сайтом.
KOI8
Стандартом для русской кириллицы в юникс-подобных операционных системах является кодировка (код обмена информацией, 8 битов), или KOI8. Существует несколько вариантов кодировки КОИ-8 для различных кириллических алфавитов. Русский алфавит описывается в кодировке KOI8-R, украинский — в KOI8-U, существуют также кодировки KOI8-RU (русско-белорусско-украинская), KOI8-T (таджикская) и т.д.
Разработчики КОИ-8 разместили символы русского алфавита таким образом, что если в тексте, написанном в КОИ-8, убирать восьмой бит каждого символа, то получается «читабельный» текст, хотя он и написан латинскими символами.
Вторая часть кодировки KOI8-R (русская), под символами указаны шестнадцатеричные коды Unicode:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
8 | ─ 2500 | │ 2502 | ┌ 250C | ┐ 2510 | └ 2514 | ┘ 2518 | ├ 251C | ┤ 2524 | ┬ 252C | ┴ 2534 | ┼ 253C | ▀ 2580 | ▄ 2584 | █ 2588 | ▌ 258C | ▐ 2590 |
9 | ░ 2591 | ▒ 2592 | ▓ 2593 | ⌠23 20 | ■ 25A0 | ∙ 2219 | √ 221A | ≈ 2248 | ≤ 2264 | ≥ 2265 | 00A0 | ⌡ 2321 | ° 00B0 | ² 00B2 | · 00B7 | ÷ 00F7 |
A | ═ 2550 | ║ 2551 | ╒ 2552 | ё 0451 | ╓ 2553 | ╔ 2554 | ╕ 2555 | ╖ 2556 | ╗ 2557 | ╘ 2558 | ╙ 2559 | ╚ 255A | ╛ 255B | ╜ 255C | ╝ 255D | ╞ 255E |
B | ╟ 255F | ╠ 2560 | ╡ 2561 | Ё 0401 | ╢ 2562 | ╣ 2563 | ╤ 2564 | ╥ 2565 | ╦ 2566 | ╧ 2567 | ╨ 2568 | ╩ 2569 | ╪ 256A | ╫ 256B | ╬ 256C | 00A9 |
C | ю 044E | а 0430 | б 0431 | ц 0446 | д 0434 | е 0435 | ф 0444 | г 0433 | х 0445 | и 0438 | й 0439 | к 043A | л 043B | м 043C | н 043D | о 043E |
D | п 043F | я 044F | р 0440 | с 0441 | т 0442 | у 0443 | ж 0436 | в 0432 | ь 044C | ы 044B | з 0437 | ш 0448 | э 044D | щ 0449 | ч 0447 | ъ 044A |
C | Ю 042E | А 0410 | Б 0411 | Ц 0426 | Д 0414 | Е 0415 | Ф 0424 | Г 0413 | Х 0425 | И 0418 | Й 0419 | К 041A | Л 041B | М 041C | Н 041D | О 041E |
D | П 041F | Я 042F | Р 0420 | С 0421 | Т 0422 | У 0423 | Ж 0416 | В 0412 | Ь 042C | Ы 042B | З 0417 | Ш 0428 | Э 042D | Щ 0429 | Ч 0427 | Ъ 042A |
10000000 – 11111111
Альтернативная часть таблицы (русская). Вторая половина кодовой таблицы ASCII, называемая кодовой страницей (128 кодов, начиная с 10000000 и кончая 11111111), может иметь различные варианты, каждый вариант имеет свой номер. Кодовая страница в первую очередь используется для размещения национальных алфавитов, отличных от латинского. В русских национальных кодировках в этой части таблицы размещаются символы русского алфавита.
Первая половина таблицы кодов ASCII
Обращаю ваше внимание на то, что в таблице кодировки буквы (прописные и строчные) располагаются в алфавитном порядке, а цифры упорядочены по возрастанию значений. Такое соблюдение лексикографического порядка в расположении символов называется принципом последовательного кодирования алфавита
Для букв русского алфавита также соблюдается принцип последовательного кодирования.
Вторая половина таблицы кодов ASCII
К сожалению, в настоящее время существуют пять различных кодировок кириллицы (КОИ8-Р, Windows. MS-DOS, Macintosh и ISO). Из-за этого часто возникают проблемы с переносом русского текста с одного компьютера на другой, из одной программной системы в другую.
Хронологически одним из первых стандартов кодирования русских букв на компьютерах был КОИ8 (“Код обмена информацией, 8-битный”). Эта кодировка применялась еще в 70-ые годы на компьютерах серии ЕС ЭВМ, а с середины 80-х стала использоваться в первых русифицированных версиях операционной системы UNIX.
От начала 90-х годов, времени господства операционной системы MS DOS, остается кодировка CP866 (“CP” означает “Code Page”, “кодовая страница”).
Компьютеры фирмы Apple, работающие под управлением операционной системы Mac OS, используют свою собственную кодировку Mac.
Кроме того, Международная организация по стандартизации (International Standards Organization, ISO) утвердила в качестве стандарта для русского языка еще одну кодировку под названием ISO 8859-5.
Наиболее распространенной в настоящее время является кодировка Microsoft Windows, обозначаемая сокращением CP1251.
С конца 90-х годов проблема стандартизации символьного кодирования решается введением нового международного стандарта, который называется Unicode. Это 16-разрядная кодировка, т.е. в ней на каждый символ отводится 2 байта памяти. Конечно, при этом объем занимаемой памяти увеличивается в 2 раза. Но зато такая кодовая таблица допускает включение до 65536 символов. Полная спецификация стандарта Unicode включает в себя все существующие, вымершие и искусственно созданные алфавиты мира, а также множество математических, музыкальных, химических и прочих символов.
1251 – кодовая страница Windows
128 Ђ | 144 Ђ | 160 | 176 ° | 192 А | 208 Р | 224 а | 240 р |
129 Ѓ | 145 ‘ | 161 Ў | 177 ± | 193 Б | 209 С | 225 б | 241 с |
130 ‚ | 146 ’ | 162 ў | 178 I | 194 В | 210 Т | 226 в | 242 т |
131 ѓ | 147 “ | 163 J | 179 i | 195 Г | 211 У | 227 г | 243 у |
132 „ | 148 ” | 164 ¤ | 180 ґ | 196 Д | 212 Ф | 228 д | 244 ф |
133 … | 149 • | 165 Ґ | 181 μ | 197 Е | 213 Х | 229 е | 245 х |
134 † | 150 – | 166 ¦ | 182 ¶ | 198 Ж | 214 Ц | 230 ж | 246 ц |
135 ‡ | 151 — | 167 § | 183 · | 199 З | 215 Ч | 231 з | 247 ч |
136 € | 152 □ | 168 Ё | 184 ё | 200 И | 216 Ш | 232 и | 248 ш |
137 ‰ | 153 | 169 | 185 № | 201 Й | 217 Щ | 233 й | 249 щ |
138 Љ | 154 љ | 170 Є | 186 є | 202 К | 218 Ъ | 234 к | 250 ъ |
139 | 171 « | 187 » | 203 Л | 219 Ы | 235 л | 251 ы | |
140 Њ | 156 њ | 172 ¬ | 188 j | 204 М | 220 Ь | 236 м | 252 ь |
141 Ќ | 157 ќ | 173 | 189 S | 205 Н | 221 Э | 237 н | 253 э |
142 Ћ | 158 ћ | 174 | 190 s | 206 О | 222 Ю | 238 о | 254 ю |
143 Џ | 159 џ | 175 Ï | 191 ї | 207 П | 223 Я | 239 п | 255 я |
Виды кодировок
Существует довольно много видов, но сейчас распространены два:
UTF-8
Unicode Transformation Format — универсальный стандарт кодирования, который работает с символами почти всех языков мира. Символы могут занимать от 1 до 4 байт, такое кодирование позволяет создавать мультиязычные сайты.
Есть несколько вариантов — UTF-8, 16, 32, но чаще используют восьмибитное.
Windows-1251
Этот вид занимает второе место по популярности после UTF-8. Windows-1251 — кодирование для кириллицы, созданное на базе кодировок, использовавшихся в русификаторах операционной системы Windows. В ней есть все символы, которые используются в русской типографике, кроме значка ударения. Символы занимают 1 байт.
Выбор кодировки остается на усмотрение веб-мастера, но UTF-8 используют намного чаще — ее поддерживают все популярные браузеры и распознают поисковики, а еще ее удобнее использовать для сайтов на разных языках.
Окно «Параметры страницы»
Окно параметры страницы имеет три вкладки: «Поля», «Размер бумаги» и «Источник бумаги».
Рисунок 4. Вкладки окна «Параметры страницы».
Вкладка «Поля»
В области «Поля» задаем четыре поля документа. Для стандартных официальных документов значения полей равны: левое – 2,5см (1 дюйм), правое – 1,25-1,5 см (около полдюйма), верхнее и нижнее 1,5 – 2см (в некоторых документах нижнее поле больше верхнего), а максимальные значения полей равны: для левого – 3см, для остальных – 2см.
В списке «Переплет» выбирается расположение переплета – слева или вверху. Переплет часто применяется при подготовке брошюр, календарей, справочников, а в обычных документах он, как правило, не задается.
Если в рамках одного документа необходимо разместить два документа по вертикали, откройте список и в поле «Несколько страниц» и выберите пункт «2 страницы на листе».
В работе с двухсторонними документами используйте зеркальные поля. В этом случае левое и правое поле автоматически меняется местами на нечетных и четных страницах. Для этого в области «Страницы» в поле «Несколько страниц» из раскрывающегося списка выберите пункт «Зеркальные поля».
В области «Образец» в раскрывающемся списка «Применить» выберите вариант применения изменений.
- «К текущему разделу» — внесенные изменения применяются только к текущему разделу;
- «До конца документа» — от выделенного места до конца документа. Если вы измените, например, размер полей, это коснется только страниц, находящихся в поле выделенного участка;
- «Ко всему документу» — изменения будут применены ко всему документу.
Вкладка «Размер бумаги»
В области «Размер бумаги», можно выбрать заданный размер бумаги по формату – А4, А3, А5 и т.д.
В полях «Высота» и «Ширина» задается произвольный размер.
В области «Подача бумаги» выбирается, как будет подаваться бумага на печать. Рекомендуется использовать значения по умолчанию.
Область «Образец» аналогична вышеописанной.
Вкладка «Источник бумаги»
В области «Раздел» в поле «Начать раздел» можно выбрать, откуда начнётся следующий раздел.
В области «Страница», можно выбрать выравнивание:
- «По верхнему краю» — это значение по умолчанию, и используется оно чаще всего;
- «По центру» – строки текста будут выравнены по центру документа, и текст будет равномерно заполняться от центра, вверх и вниз;
- «По высоте» – есть определенное сходство с выравниванием текста по ширине, только в данном случае выравниваются строки по высоте страницы. Чем меньше строк на странице – тем больше расстояние между ними;
- «По нижнему краю» — строки выравниваются по низу страницы. Часто используется в письмах и прологах к художественным новеллам.
В области «Различать колонтитулы» можно задать расстояние до верхнего и нижнего колонтитула, и то, как будут различаться колонтитулы – по первой странице или по четным/нечетным страницам. Более подробно о колонтитулах будет рассказано в следующих статьях.
Значения по умолчанию
Если вы все время работаете с одним типом документов, и необходимо использовать одни и те же параметры страницы, задайте значения по умолчанию. Перейдите в окно «Параметры страницы» и задайте искомые параметры, затем щелкните кнопку «По умолчанию» и подтвердите выбор. Данные параметры будут применены для всех последующих документов до следующего внесения изменений.
Как определить кодировку на сайте
Определить кодировку страницы своего или чужого сайта можно через исходный код страницы. Откройте страницу сайта, выберите «Просмотр кода страницы» (сочетание горячих клавиш Ctrl+U» в Google Chrome) и найдите упоминание «charset» внутри тега head.
На странице сайта используется кодировка UTF-8:
Указание кодировки в коде страницы
Узнать вид кодирования можно с помощью «Анализа сайта». Сервис проверяет в том числе и техническую сторону ресурса: анализирует серверную информацию, определяет кодировку, проверяет редиректы и другие пункты.
Фрагмент анализа серверной информации сайта
С помощью этого же сервиса можно проверить корректность указанного кодирования. Аудит внутренних страниц «Анализа сайта» проверяет кодировку сервера и сравнивает ее с той, которая указана на внутренней странице. Найденные ошибки Анализ покажет в результатах проверки, и вы сразу узнаете, где нужно исправить.
Отчет о технических данных
Кодировка сервера и страницы
Проверить кодировку еще можно через сервис Validator.w3, о котором писали в статье о проверке валидации кода. Нужная надпись находится внизу страницы.
Кодировка сайта в валидаторе
Если валидатор не обнаружит Charset, он покажет ошибку:
Ошибка указания кодировки
Но валидатор работает не точно: он проверяет только синтаксис разметки, поэтому может не показать ошибку, даже если кодирование указано неправильно.
Базы банных
Когда речь идет о php, все вообще страшно. Я уже рассказывал про базы данных, они используются для ускорения работы сайта. Обычно, вы к ним не обращаетесь, но когда появляется необходимость в переносе сайта становится не по себе.
Сложности случаются у всех, не важно какой у вас опыт работы, стаж и выслуга лет. Некоторые странички в базе могут содержать в себе все доступные символы для виндовс-1251, другие, к примеру, в шаблонах страниц, в другой кодировке
Пока не нужен перенос все работает и функционирует, хоть и не совсем правильно. Но после переезда начинаются неприятности. В идеале вы должны использовать либо только УТФ, либо виндовс-1251, но по факту всегда и у всех случаются вот такие недочеты.
Чтобы расшифровка согласовалась необходимо вписать код mysql_query(«SET NAMES cp1251»). В этом случае преобразование будет осуществлять по другому протоколу – cp1251.
Кодировка windows 1251 в сайтостроении
Кодировка windows 1251 была создана в начале 90 годов для русификации программных продуктов, выпускаемых корпорацией Microsoft:
- 0xFF (25510) – это код, который зарезервирован для символа «я». В программах, которые не поддерживают чистый 8-ой бит, часто возникают непредсказуемые проблемы;
- Нет псевдографики, которая присутствует в KOI8, CP866.
Ниже приведены символы из Code Page 1251 или сокращенно СР1251 (числа под символами являются кодом в шестнадцатеричной системе такого же символа в Юникоде):
Нередко у web-разработчиков и блогеров, обладающих различной квалификацией возникает проблема с кодировкой страниц: вместо подготовленного текста появляются неизвестные, нечитаемые символы. Чтобы разобраться с данной проблемой, необходимо понимать суть термина «кодировка страницы».
Текст в памяти компьютера хранится в виде определенного количества байт, а не в том виде, в котором он отображается в текстовом редакторе. Каждый байт является кодом, который соответствует одному символу. Для того чтобы текст на странице отображался как следует, нужно сообщить браузеру, какую таблицу кодов для расшифровки и отображения он должен использовать.
Таблица кодировок не является универсальной, то есть, для расшифровки текста необходимо использовать ту, которая соответствует кодировке символов:
— между тегом <head> и закрывающим его </head> нужно прописать <meta http-equiv=»Content-Type» content=»text/html; charset=utf-8″> — исходя из этой строки, браузер будет использовать символы русского алфавита для отображения текста на странице.
Ни для кого не является тайной, что генерация страниц проходит путем выборки и использования какой-то части информации, которая хранится в базе данных. При написании сайта на PHP, чаще всего это mysql:
Для согласования расшифровки необходимо выполнить функцию mysql_query(«SET NAMES cp1251») – это означает, что преобразование из машинного кода будет осуществляться согласно таблице cp1251.
При создании сайта, предварительно настроив кодировки в шаблонах и базах данных, все равно может всплыть проблема некорректного отображения информации в браузере.
Для того чтобы для веб-ресурса была задана кодировка виндовс-1251, необходимо найти (или создать) файл .htaccess. Это файл, который хранит в себе дополнительные настройки и описания конфигураций web-сервера.
В нем для установки кодировки следует прописать следующие строки:
- DefaultLanguage ru;
- AddDefaultCharset windows-1251;
- php_value default_charset «cp1251».
Таким образом, для корректного отображения текста должны совпадать его кодировка и таблица кодов, с помощью которой браузер будет расшифровывать символы. Для текстов, написанных на славянских языках, необходима win 1251 кодировка
Важно помнить, что элементы страниц и баз данных должны быть описаны с помощью одной таблицы кодов
Кодировка UTF-8 (Unicode Transformation Format)
Очень распространенный формат кодирования символов, позволяющий кодировать символы переменным количеством байт.
Например, если для кодирования номера символа требуется 21 бит, то используется 4 байта для кодировки. Если для кодирования достаточно 11 бит, то используют 2 байта. А если номер символа может быть закодирован 7 битами, то используется один байт.
Все ASCII символы в кодировке UTF8 закодированы без изменений, то есть 1 байтом, как в стандартной таблице ASCII.
А вот остальные символы закодированы количеством байт от 2 до 4.
Кириллические символы закодированы двумя байтами.
Кодирование текстовой информации
С точки зрения ЭВМ текст состоит из отдельных символов. К числу символов принадлежат не только буквы (заглавные или строчные, латинские или русские), но и цифры, знаки препинания, спецсимволы типа “=”, “(“, “&” и т.п
и даже (обратите особое внимание!) пробелы между словами. Да, не удивляйтесь: пустое место в тексте тоже должно иметь свое обозначение
Вспомним некоторые известные нам факты:
Множество символов, с помощью которых записывается текст, называется алфавитом.
Число символов в алфавите – это его мощность.
Формула определения количества информации: N = 2 b ,
где N – мощность алфавита (количество символов),
b – количество бит (информационный вес символа).
В алфавит мощностью 256 символов можно поместить практически все необходимые символы. Такой алфавит называется достаточным.
Т.к. 256 = 2 8 , то вес 1 символа – 8 бит.
Единице измерения 8 бит присвоили название 1 байт:
Двоичный код каждого символа в компьютерном тексте занимает 1 байт памяти.
Каким же образом текстовая информация представлена в памяти компьютера?
Тексты вводятся в память компьютера с помощью клавиатуры. На клавишах написаны привычные нам буквы, цифры, знаки препинания и другие символы. В оперативную память они попадают в двоичном коде. Это значит, что каждый символ представляется 8-разрядным двоичным кодом.
Кодирование заключается в том, что каждому символу ставится в соответствие уникальный десятичный код от 0 до 255 или соответствующий ему двоичный код от 00000000 до 11111111. Таким образом, человек различает символы по их начертанию, а компьютер – по их коду.
Удобство побайтового кодирования символов очевидно, поскольку байт – наименьшая адресуемая часть памяти и, следовательно, процессор может обратиться к каждому символу отдельно, выполняя обработку текста. С другой стороны, 256 символов – это вполне достаточное количество для представления самой разнообразной символьной информации.
Понятно, что это дело условное, можно придумать множество способов кодировки.
Все символы компьютерного алфавита пронумерованы от 0 до 255. Каждому номеру соответствует восьмиразрядный двоичный код от 00000000 до 11111111. Этот код просто порядковый номер символа в двоичной системе счисления.
Для разных типов ЭВМ используются различные таблицы кодировки.
Международным стандартом для ПК стала таблица ASCII (читается аски) (Американский стандартный код для информационного обмена).
Таблица кодов ASCII делится на две части.
Международным стандартом является лишь первая половина таблицы, т.е. символы с номерами от (00000000), до 127 (01111111).
866 – кодовая страница DOS
128 А | 144 Р | 160 а | 176 ░ | 192 └ | 208 ╨ | 224 р | 240 ≡Ё |
129 Б | 145 С | 161 б | 177 ▒ | 193 ┴ | 209 ╤ | 225 с | 241 ±ё |
130 В | 146 Т | 162 в | 178 ▓ | 194 ┬ | 210 ╥ | 226 т | 242 ≥ |
131 Г | 147 У | 163 г | 179 │ | 195 ├ | 211 ╙ | 227 у | 243 ≤ |
132 Д | 148 Ф | 164 д | 180 ┤ | 196 ─ | 212 ╘ | 228 ф | 244 ⌠ |
133 Е | 149 Х | 165 е | 181 ╡ | 197 ┼ | 213 ╒ | 229 х | 245 ⌡ |
134 Ж | 150 Ц | 166 ж | 182 ╢ | 198 ╞ | 214 ╓ | 230 ц | 246 ¸ |
135 З | 151 Ч | 167 з | 183 ╖ | 199 ╟ | 215 ╫ | 231 ч | 247 » |
136 И | 152 Ш | 168 и | 184 ╕ | 200 ╚ | 216 ╪ | 232 ш | 248 ° |
137 Й | 153 Щ | 169 й | 185 ╣ | 201 ╔ | 217 ┘ | 233 щ | 249 · |
138 К | 154 Ъ | 170 к | 186 ║ | 202 ╩ | 218 ┌ | 234 ъ | 250 ∙ |
139 Л | 155 Ы | 171 л | 187 ╗ | 203 ╦ | 219 █ | 235 ы | 251 √ |
140 М | 156 Ь | 172 м | 188 ╝ | 204 ╠ | 220 ▄ | 236 ь | 252 ⁿ |
141 Н | 157 Э | 173 н | 189 ╜ | 205 ═ | 221 ▌ | 237 э | 253 ² |
142 О | 158 Ю | 174 о | 190 ╛ | 206 ╬ | 222 ▐ | 238 ю | 254 ■ |
143 П | 159 Я | 175 п | 191 ┐ | 207 ╧ | 223 ▀ | 239 я | 255 |
Русские названия основных спецсимволов:
Символ | Название |
` | гравис, кавычка, обратный машинописный апостроф |
` | гравис, кавычка, обратный машинописный апостроф |
тильда ! восклицательный знак
@ эт, коммерческое эт, «собака»
# октоторп, решетка, диез
$ знак доллара
% процент
^ циркумфлекс, знак вставки
& амперсанд
* астериск, звездочка, знак умножения
( левая открывающая круглая скобка
) правая закрывающая круглая скобка
— минус, дефис
_ знак подчеркивания
= знак равенства
+ плюс
левая открывающая квадратная скобка
правая закрывающая квадратная скобка
левая открывающая фигурная скобка
> правая закрывающая фигурная скобка
; точка с запятой
двоеточие
‘ машинописный апостроф, одинарная кавычка
“ двойная кавычка
, запятая
. точка
слэш, косая черта, знак дроби
правая закрытая угловая скобка, знак больше
\ обратный слэш, обратная косая черта
| вертикальная черта
Какими бывают
Кодировки символов – тип сочетания букв, цифр и знаков, которые после обработки операционной системой преобразовываются в знак. Они бывают разными.
Сегодня можно столкнуться с такими кодировками:
- ASCII – способ печати специальных знаков, уникальные коды которых представлены цифрами. Это самый распространенный тип кодировки. Он был разработан в 1963 году в США. Кодировка является семибитной.
- Windows-1251 – стандартная кодировка для русскоязычной “Виндовс”. Она не слишком обширна и почти не пользуется спросом у юзеров.
- Unicode – 16-битная кодировка для современных операционных систем. Она служит для представления символов и букв на любом языке. Используется современными пользователями наравне с ASCII.
Теперь понятно, какими бывают кодировки
Заострим внимание на первом и последнем варианте. Они пользуются самым большим спросом у современных пользователей ПК
Таблицы
Нижняя часть таблицы кодировки (латиница) полностью соответствует кодировке ASCII. Числа под буквами обозначают шестнадцатеричный код подходящего символа в Юникоде.
Кодировка Windows-1251
.1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
8. | Ђ402 | Ѓ403 | ‚201A | ѓ453 | „201E | …2026 | †2020 | ‡2021 | €20AC | ‰2030 | Љ409 | ‹2039 | Њ40A | Ќ40C | Ћ40B | Џ40F |
9. | ђ452 | ‘2018 | ’2019 | ”201D | •2022 | –2013 | —2014 | 2122 | љ459 | ›203A | њ45A | ќ45C | ћ45B | џ45F | ||
A. | A0 | Ў40E | ў45E | Ј408 | ¤A4 | Ґ490 | ¦A6 | §A7 | Ё401 | A9 | Є404 | AB | ¬AC | AD | AE | Ї407 |
B. | °B0 | ±B1 | І406 | і456 | ґ491 | µB5 | ¶B6 | ·B7 | ё451 | №2116 | є454 | BB | ј458 | Ѕ405 | ѕ455 | ї457 |
C. | А410 | Б411 | В412 | Г413 | Д414 | Е415 | Ж416 | З417 | И418 | Й419 | К41A | Л41B | М41C | Н41D | О41E | П41F |
D. | Р420 | С421 | Т422 | У423 | Ф424 | Х425 | Ц426 | Ч427 | Ш428 | Щ429 | Ъ42A | Ы42B | Ь42C | Э42D | Ю42E | Я42F |
E. | а430 | б431 | в432 | г433 | д434 | е435 | ж436 | з437 | и438 | й439 | к43A | л43B | м43C | н43D | о43E | п43F |
F. | р440 | с441 | т442 | у443 | ф444 | х445 | ц446 | ч447 | ш448 | щ449 | ъ44A | ы44B | ь44C | э44D | ю44E | я44F |
Официальная кодировка Amiga-1251 (Amiga Inc., 2004 г.)
.1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
A. | A0 | ¡A1 | ¢A2 | £A3 | €20AC | ¥A5 | ¦A6 | §A7 | Ё401 | A9 | №2116 | AB | ¬AC | AD | AE | ¯AF |
B. | °B0 | ±B1 | ²B2 | ³B3 | ´B4 | µB5 | ¶B6 | ·B7 | ё451 | ¹B9 | ºBA | BB | ¼BC | ½BD | ¾BE | ¿BF |
Официальная кодировка KZ-1048 (казахский стандарт)
.1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
8. | Ђ402 | Ѓ403 | ‚201A | ѓ453 | „201E | …2026 | †2020 | ‡2021 | €20AC | ‰2030 | Љ409 | ‹2039 | Њ40A | Қ49A | Һ4BA | Џ40F |
9. | ђ452 | ‘2018 | ’2019 | “201C | ”201D | •2022 | –2013 | —2014 | 2122 | љ459 | ›203A | њ45A | қ49B | һ4BB | џ45F | |
A. | A0 | Ұ4B0 | ұ4B1 | Ә4D8 | ¤A4 | Ө4E8 | ¦A6 | §A7 | Ё401 | A9 | Ғ492 | AB | ¬AC | AD | AE | Ү4AE |
B. | °B0 | ±B1 | І406 | і456 | ө4E9 | µB5 | ¶B6 | ·B7 | ё451 | №2116 | ғ493 | BB | ә4D9 | Ң4A2 | ң4A3 | ү4AF |
Кодировка Windows-1251 (чувашский вариант)
.1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
8. | Ђ402 | Ѓ403 | ‚201A | ѓ453 | „201E | …2026 | †2020 | ‡2021 | €20AC | ‰2030 | Љ409 | ‹2039 | Ӑ4D0 | Ӗ4D6 | Ҫ4AA | Ӳ4F2 |
9. | ђ452 | ‘2018 | ’2019 | “201C | ”201D | •2022 | –2013 | —2014 | 2122 | љ459 | ›203A | ӑ4D1 | ӗ4D7 | ҫ4AB | ӳ4F3 |
Татарский вариант
Эта кодировка была официально принята в Татарстане в г.
.1 | .2 | .3 | .4 | .5 | .6 | .7 | .8 | .9 | .A | .B | .C | .D | .E | .F | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
8. | Ә4D8 | Ѓ403 | ‚201A | ѓ453 | „201E | …2026 | †2020 | ‡2021 | €20AC | ‰2030 | Ө4E8 | ‹2039 | Ү4AE | Җ496 | Ң4A2 | Һ4BA |
9. | ә4D9 | ‘2018 | ’2019 | “201C | ”201D | •2022 | –2013 | —2014 | 2122 | ө4E9 | ›203A | ү4AF | җ497 | ң4A3 | һ4BB |
Таблица Windows-1251
Windows-1251 (cp1251) — это стандартная 8-битная кодировка, разработанная компанией Microsoft. Она содержит практически все символы, которые Вы можете встретить на стандартной русской клавиатуре. Также 1251 имеет символы для таких языков, как белорусский, украинский, болгарский и сербский.
DEC |
HEX |
СИМВ |
DEC |
HEX |
СИМВ |
DEC |
HEX |
СИМВ |
000 |
00 |
NOP |
086 |
56 |
V |
171 |
AB |
|
001 |
01 |
SOH |
087 |
57 |
W |
172 |
AC |
¬ |
002 |
02 |
STX |
088 |
58 |
X |
173 |
AD |
|
003 |
03 |
ETX |
089 |
59 |
Y |
174 |
AE |
|
004 |
04 |
EOT |
090 |
5A |
Z |
175 |
AF |
Ї |
005 |
05 |
ENQ |
091 |
5B |
176 |
B0 |
° |
|
006 |
06 |
ACK |
092 |
5C |
177 |
B1 |
± |
|
007 |
07 |
BEL |
093 |
5D |
178 |
B2 |
І |
|
008 |
08 |
BS |
094 |
5E |
^ |
179 |
B3 |
і |
009 |
09 |
Табуляция |
095 |
5F |
_ |
180 |
B4 |
ґ |
010 |
0A |
LF |
096 |
60 |
` |
181 |
B5 |
µ |
011 |
0B |
VT |
097 |
61 |
a |
182 |
B6 |
¶ |
012 |
0C |
FF |
098 |
62 |
b |
183 |
B7 |
· |
013 |
0D |
CR |
099 |
63 |
c |
184 |
B8 |
Ё |
014 |
0E |
SO |
100 |
64 |
d |
185 |
B9 |
№ |
015 |
0F |
SI |
101 |
65 |
e |
186 |
BA |
Є |
016 |
10 |
DLE |
102 |
66 |
f |
187 |
BB |
|
017 |
11 |
DC1 |
103 |
67 |
g |
188 |
BC |
ј |
018 |
12 |
DC2 |
104 |
68 |
h |
189 |
BD |
Ѕ |
019 |
13 |
DC3 |
105 |
69 |
i |
190 |
BE |
Ѕ |
020 |
14 |
DC4 |
106 |
6A |
j |
191 |
BF |
Ї |
021 |
15 |
NAK |
107 |
6B |
k |
192 |
C0 |
А |
022 |
16 |
SYN |
108 |
6C |
l |
193 |
C1 |
Б |
023 |
17 |
ETB |
109 |
6D |
m |
194 |
C2 |
В |
024 |
18 |
CAN |
110 |
6E |
n |
195 |
C3 |
Г |
025 |
19 |
EM |
111 |
6F |
o |
196 |
C4 |
Д |
026 |
1A |
SUB |
112 |
70 |
p |
197 |
C5 |
Е |
027 |
1B |
ESC |
113 |
71 |
q |
198 |
C6 |
Ж |
028 |
1C |
FS |
114 |
72 |
r |
199 |
C7 |
З |
029 |
1D |
GS |
115 |
73 |
s |
200 |
C8 |
И |
030 |
1E |
RS |
116 |
74 |
t |
201 |
C9 |
Й |
031 |
1F |
US |
117 |
75 |
u |
202 |
CA |
К |
032 |
20 |
Пробел |
118 |
76 |
v |
203 |
CB |
Л |
033 |
21 |
119 |
77 |
w |
204 |
CC |
М |
|
034 |
22 |
120 |
78 |
x |
205 |
CD |
Н |
|
035 |
23 |
# |
121 |
79 |
y |
206 |
CE |
О |
036 |
24 |
$ |
122 |
7A |
z |
207 |
CF |
П |
037 |
25 |
% |
123 |
7B |
{ |
208 |
D0 |
Р |
038 |
26 |
& |
124 |
7C |
| |
209 |
D1 |
С |
039 |
27 |
‘ |
125 |
7D |
} |
210 |
D2 |
Т |
040 |
28 |
126 |
7E |
~ |
211 |
D3 |
У |
|
041 |
29 |
127 |
7F |
212 |
D4 |
Ф |
||
042 |
2A |
128 |
80 |
Ђ |
213 |
D5 |
Х |
|
043 |
2B |
+ |
129 |
81 |
Ѓ |
214 |
D6 |
Ц |
044 |
2C |
, |
130 |
82 |
‚ |
215 |
D7 |
Ч |
045 |
2D |
— |
131 |
83 |
ѓ |
216 |
D8 |
Ш |
046 |
2E |
132 |
84 |
„ |
217 |
D9 |
Щ |
|
047 |
2F |
133 |
85 |
… |
218 |
DA |
Ъ |
|
048 |
30 |
134 |
86 |
† |
219 |
DB |
Ы |
|
049 |
31 |
1 |
135 |
87 |
‡ |
220 |
DC |
Ь |
050 |
32 |
2 |
136 |
88 |
€ |
221 |
DD |
Э |
051 |
33 |
3 |
137 |
89 |
‰ |
222 |
DE |
Ю |
052 |
34 |
4 |
138 |
8A |
Љ |
223 |
DF |
Я |
053 |
35 |
5 |
139 |
8B |
‹ |
224 |
E0 |
а |
054 |
36 |
6 |
140 |
8C |
Њ |
225 |
E1 |
б |
055 |
37 |
7 |
141 |
8D |
Ќ |
226 |
E2 |
в |
056 |
38 |
8 |
142 |
8E |
Ћ |
227 |
E3 |
г |
057 |
39 |
9 |
143 |
8F |
Џ |
228 |
E4 |
д |
058 |
3A |
144 |
90 |
Ђ |
229 |
E5 |
е |
|
059 |
3B |
145 |
91 |
‘ |
230 |
E6 |
ж |
|
060 |
3C |
< |
146 |
92 |
’ |
231 |
E7 |
з |
061 |
3D |
= |
147 |
93 |
“ |
232 |
E8 |
и |
062 |
3E |
> |
148 |
94 |
” |
233 |
E9 |
й |
063 |
3F |
149 |
95 |
• |
234 |
EA |
к |
|
064 |
40 |
@ |
150 |
96 |
– |
235 |
EB |
л |
065 |
41 |
A |
151 |
97 |
— |
236 |
EC |
м |
066 |
42 |
B |
152 |
98 |
237 |
ED |
н |
|
067 |
43 |
C |
153 |
99 |
238 |
EE |
о |
|
068 |
44 |
D |
154 |
9A |
љ |
239 |
EF |
п |
069 |
45 |
E |
155 |
9B |
› |
240 |
F0 |
р |
070 |
46 |
F |
156 |
9C |
њ |
241 |
F1 |
с |
071 |
47 |
G |
157 |
9D |
ќ |
242 |
F2 |
т |
072 |
48 |
H |
158 |
9E |
ћ |
243 |
F3 |
у |
073 |
49 |
I |
159 |
9F |
џ |
244 |
F4 |
ф |
074 |
4A |
J |
160 |
A0 |
245 |
F5 |
х |
|
075 |
4B |
K |
161 |
A1 |
Ў |
246 |
F6 |
ц |
076 |
4C |
L |
162 |
A2 |
ў |
247 |
F7 |
ч |
077 |
4D |
M |
163 |
A3 |
Ј |
248 |
F8 |
ш |
078 |
4E |
N |
164 |
A4 |
¤ |
249 |
F9 |
щ |
079 |
4F |
O |
165 |
A5 |
Ґ |
250 |
FA |
ъ |
080 |
50 |
P |
166 |
A6 |
¦ |
251 |
FB |
ы |
081 |
51 |
Q |
167 |
A7 |
§ |
252 |
FC |
ь |
082 |
52 |
R |
168 |
A8 |
Ё |
253 |
FD |
э |
083 |
53 |
S |
169 |
A9 |
254 |
FE |
ю |
|
084 |
54 |
T |
170 |
AA |
Є |
255 |
FF |
я |
085 |
55 |
U |