Используя кодовая таблица ср 1251 windows cyrillic.
Не каждый человек обладает большими познаниями в компьютерной технике.
Что такое windows-1251 кодировка и какую роль играет в работе компьютера предстоит узнать.
Что это такое?
Кодировка 1251 представляет собой совокупность символов, которая составляет восьми-битную систему для русифицированных устройств.
Стоит отметить, что довольное широкое применение она нашла на территории Европы.
Считается одной из самых выгодных кодировок, поскольку в ней присутствует все необходимые символы, которые используются в российской типографии. Все кириллические символы имею алфавитную последовательность.
Немного из истории
С наступлением 90-х годов, после распада СССР, границы России стали открыты.
Поэтому на территорию страны стало постепенно проникать оборудование из европейских стран.
Изначально все они были запрограммированы на английском языке.
В этот же промежуток времени начинает активно распространяться интернет.
А значит стало возможным использовать компьютеры со следующими языками:
- Русский
- Белорусский
- Украинский
- Сербский
- Болгарский
- Македонский.
Совместно с двумя российскими компаниями «Параграф» и «Диалог» , представительства компании начали активно заниматься разработкой данной кодировки.
В качестве основы были использованы обыкновенные самостоятельно написанные разработки.
Однако технический прогресс не стоит на месте, поэтому в последнее время широкое применение нашел Юникод UTF-8.
UTF-8 против 1251
Вся информация, которая хранится на компьютере, имеет кодированный вид.
Можно предположить, что символ имеет вес порядком 1 байт. 1251 – это разновидность кодировки однобайтовой, а UTF-8 – восьмибайтная.
Отсюда можно сделать вывод, что первый вариант способен к программированию 256 знаков.
Что касается второго варианта, то он представляет большее количество. Кроме того, для этого выделяют большой размер.
Можно сделать вывод, что оба варианта имеют следующие отличия:
- В верхней части необходимо указывать кодировку, которая необходима для использования . В противном случае, вместо обыкновенных символов появляются нечитаемые иероглифы. Используя (которая считается более универсальной кодировкой), все переводы и расшифровки осуществляются в автоматическом режиме
- Вне зависимости от того, на территории какой страны будет загружаться страница, символика останется без изменения. Важно отметить, что местоположение в данном случае не играет абсолютно никакой роли. Главное обращать внимание на языковые серверы, используемые пользователем. Каждый человек обращается к программному обеспечению на родном языке. Для жителей Европы, 1251 будет недоступна в силу использования латиницы. Соответственно можно сделать вывод о том, что русскоязычные сайты не будут открывать в корректном формате. Что касается , то он присутствует в любой ОС
- Второй вид имеет возможность кодировки большего количества символов. На сегодняшний день стоит отметить 6 и 8 байт. Что касается кириллицы, то для ее кодировки достаточно двух байт.
В связи с выше перечисленными отличиями можно сделать вывод о том, что универсальная кодировка более актуальна для использования, чем 1251, поскольку она подойдет только для славянской группы языков.
Чтобы символы можно было запомнить быстро и просто, чаще всего используют следующую таблицу:
Инструкция по восстановлению кодировки
Ситуация, когда в командной строке присутствуют непонятные символы, вопросительные знаки или иероглифы довольна распространенная.
Однако исправить положение возможно самостоятельно, не прибегая к помощи специалистов.
Сразу стоит отметить, что это первый признак того, что в седьмом Windows слетела кодировка 1251.
С восьмой версии активно используют UTF-8.
Для того, чтобы решить задачу максимально быстро, возможно использование команды CHCP 866, но это только временная мера и в полной мере проблему она не решит.
Как правило, реестр используется для основательного решения проблемы:
- Чтобы вызвать , нажимаем сочетание клавиш Win и R . Пишем regedit, при помощи которого открывается специальный реестр
- Как показано на рисунке, находим соответствующую папку HKEY_CURRENT_USER далее выбираем Console . Далее смотрим какой код задан для страниц (Code Page). В том случае, если там стоит число не 866, что скорее всего так и будет, значит проблема была определена верно
- Исправляем в строке на десятичное значение
- Чтобы править, произошли ли изменения, достаточно открыть и снова вызвать командную строчку.
Здравствуйте, уважаемые читатели моего блога. Сегодня мы поговорим с вами про кодировку. Если вы читали мою статью о том, то знаете, что любой документ в интернете хранится не в том виде, в каком мы привыкли его видеть. Он записан при помощи непонятных человеку символов и знаков. С текстом все точно также.
Существует несколько кодировок, а потому, иногда увидев непонятные символы при открытии книги в мобильном приложении или запилив статью на сайт, вы, поменяв кое-какие значения в настройках, увидите привычный глазу алфавит.
Кодировка windows-1251 – что это такое, какое значение она имеет при создании сайта, какие символы будут доступны и является ли она лучшим решением на сегодняшний день? Обо всем этом в сегодняшней статье. Как всегда, простым языком, максимально понятно и с минимальным количеством терминов.
Немного теории
Любой документ на компьютере или в интернете, как я уже сказал, хранится в виде двоичного кода. К примеру, если вы используете кодировку ASCII, то буква «К» будет записана как 10001010, а windows 1251 под этим числом скрывается символ – Љ. В итоге, если браузер или программа обратится к другой таблице и считает вместо ASCII коды windows 1251, то читатель увидит совершенно непонятные ему символ.
Логичен вопрос, нафига было придумывать множество таблиц с кодами? Дело в том, что помимо русского алфавита существует еще и английский, немецкий, китайский. По некоторым подсчетам, существует около 200 000 символов. Хотя, я не очень доверяю этой статистике, вспоминая про японский.
Не забывайте, что для заглавной и строчной буквы нужно придумать свой код, есть запятые, тире и так далее.
Чем больше в таблице символов, тем длиннее код каждого из них, а значит и вес документа становится больше.
Представьте, если бы одна книга весила 4 Гб! Она бы очень долго загружалась, занимала все свободное место на компьютере. Решение о скачивании представлялось бы делом нелегким.
Если вспомнить о сайтах, то вообще страшно подумать, что бы произошло. Каждая страничка открывалась даже на скоростном оптоволокне по часу с лишним! Думаю, мобильные телефоны можно было бы смело выкидывать. Пользоваться ими на улице даже с 4G? Сомневаюсь.
По этим причинам каждый программист в свое время старался придумать свою таблицу символов. Чтобы было удобно для использования и вес сохранялся оптимальным.
Microsoft, к примеру, для русскоязычного сегмента создали windows-1251. В ней, конечно же, есть свои достоинства и недостатки. Как и у любого другого продукта.
Сейчас уже, лишь 2% всех страниц в интернете написано на 1251. Большинство веб-мастеров используют UTF-8. Почему так?
Недостатки и достоинства
UTF-8, в отличие от windows-1251 универсальная кодировка, в ней содержатся буквы различных алфавитов. Существует даже UTF-128, где есть вообще все языки – теулу, суахили, лаосский, мальтийский и так далее.
UTF-8 победнее, буквы занимают в разы меньше места и занимают всего один байт памяти, как и в 1251. В УТФ есть редкие символы из других языков или специальные символы. Они-то и весят по 5-6 байтов, но в документе используются крайне редко.
Эта кодировка более продумана, а потому ее использует большинство приложений по умолчанию. То есть, если вы не указываете программе, какую кодировку вы используете, то первым делом он проверит именно UTF-8 .
Когда вы создаете html документ для сайта, то указываете браузерам на какую таблицу им обращать внимание при расшифровке записей.
Для этого необходимо вставить в тег head следующие данные. После символов «charset=» идет либо утф, либо виндовс, как в примере ниже.
meta http-equiv = «Content-Type» content = «text/html; charset=windows-1251» > |
Если в дальнейшем вы захотите что-то поменять и вставить фразу на албанском, используя эту таблицу расшифровок, то ничего не получится, ведь этого языка кодировка не поддерживает. UTF‑8 без проблем позволит вам это сделать.
Если вас заинтересовало правильное создание сайта, то я могу порекомендовать вам курс Михаила Русакова «Создание и Раскрутка сайта от А до Я ».
Он содержит в себе очень много – 256 уроков, затрагивающих , JavaScript, и XML. Помимо языков программирования вы сможете понять как монетизировать сайт, то есть скорее и больше получать прибыль. Один из немногих курсов, в котором было бы так подробно разъяснено все, что нужно.
Сам я вот уже год обучаюсь в школе блоггеров Александра Борисова . Это занимает в разы больше времени, конца и края пока не видно, но зато не менее исчерпывающе и дисциплинирует. Мотивирует продолжать разработку.
Ну а если возникают вопросы, не нужно искать по интернету. Всегда есть грамотный наставник.
Что-то я отошел от темы. Давайте вернемся к кодировкам.
Базы банных
Когда речь идет о php, все вообще страшно. Я уже рассказывал про базы данных, они используются для ускорения работы сайта. Обычно, вы к ним не обращаетесь, но когда появляется необходимость в переносе сайта становится не по себе.
Сложности случаются у всех, не важно какой у вас опыт работы, стаж и выслуга лет. Некоторые странички в базе могут содержать в себе все доступные символы для виндовс-1251, другие, к примеру, в шаблонах страниц, в другой кодировке.
Пока не нужен перенос все работает и функционирует, хоть и не совсем правильно. Но после переезда начинаются неприятности. В идеале вы должны использовать либо только УТФ, либо виндовс-1251, но по факту всегда и у всех случаются вот такие недочеты.
Чтобы расшифровка согласовалась необходимо вписать код mysql_query(«SET NAMES cp1251»). В этом случае преобразование будет осуществлять по другому протоколу – cp1251.
Htaccess
Если на сайте вы настойчиво решили использовать именно 1251, то вам следует найти или создать файл htaccess. Он отвечает за настройки конфигурации. В него придется добавить еще три строчки, чтобы все сошлось.
DefaultLanguage ru; AddDefaultCharset windows-1251; php_value default_charset «cp1251» |
DefaultLanguage ru; AddDefaultCharset windows-1251; php_value default_charset «cp1251»
Я все же настоятельно рекомендую вам задумать о использовании UTF-8. Он более популярен, прост и богат. Какие бы решения вы не приняли сейчас, важно, чтобы впоследствии можно было все исправить. Добавить англоязычную версию сайта на этой кодировке будет в разы проще. Ничего не нужно исправлять.
Решение остается за вами. Подписывайтесь на рассылку, чтобы узнавать как можно быстрее , где учиться, чтобы не повторять чужих ошибок, а также какие блоггеры получают больше посетителей.
До новых встреч и удачи в ваших начинаниях.
Кодировка windows 1251 была создана в начале 90 годов для русификации программных продуктов, выпускаемых корпорацией Microsoft :
Кодировка является 8-битной и включает в себя символы славянской группы языков, в которую входят русский, белорусский, украинский, болгарский, македонский, сербский – это дает преимущество перед остальными кириллическими кодировками (ISO 8859-5, KOI8-R, CP866 ). Однако у 1251-кодировки имеются и весомые недостатки:
- 0xFF (25510) – это код, который зарезервирован для символа «я». В программах, которые не поддерживают чистый 8-ой бит, часто возникают непредсказуемые проблемы;
- Нет псевдографики, которая присутствует в KOI8 , CP866 .
Ниже приведены символы из Code Page 1251 или сокращенно СР1251 (числа под символами являются кодом в шестнадцатеричной системе такого же символа в Юникоде ):
Кодировка windows 1251 в html
Нередко у web-разработчиков и блогеров, обладающих различной квалификацией возникает проблема с кодировкой страниц: вместо подготовленного текста появляются неизвестные, нечитаемые символы. Чтобы разобраться с данной проблемой, необходимо понимать суть термина «кодировка страницы ».
Текст в памяти компьютера хранится в виде определенного количества байт, а не в том виде, в котором он отображается в текстовом редакторе. Каждый байт является кодом, который соответствует одному символу. Для того чтобы текст на странице отображался как следует, нужно сообщить браузеру, какую таблицу кодов для расшифровки и отображения он должен использовать.
Таблица кодировок не является универсальной, то есть, для расшифровки текста необходимо использовать ту, которая соответствует кодировке символов:
Для того чтобы html-документ корректно отобразился в браузере, необходимо указать используемую кодировку. Делается это следующим образом:
— между тегом
и закрывающим его нужно прописать — исходя из этой строки, браузер будет использовать символы русского алфавита для отображения текста на странице.Кодировка windows 1251 в PHP
Ни для кого не является тайной, что генерация страниц проходит путем выборки и использования какой-то части информации, которая хранится в базе данных. При написании сайта на PHP , чаще всего это mysql :
Нередко при смене хостинга возникает проблема: различные кодировки информации в базе данных и в шаблонах страниц. Из-за этого одна сгенерированная страница может одновременно содержать несколько кодировок. Если информация на сайте представлена в кодировке виндовс 1251 , то и чтение из базы данных должно осуществляться с помощью таблицы, в которой представлена win 1251 кодировка.
Для согласования расшифровки необходимо выполнить функцию mysql_query(«SET NAMES cp1251») – это означает, что преобразование из машинного кода будет осуществляться согласно таблице cp1251 .
Кодировка windows 1251 в htaccess
При создании сайта, предварительно настроив кодировки в шаблонах и базах данных, все равно может всплыть проблема некорректного отображения информации в браузере.
Для того чтобы для веб-ресурса была задана кодировка виндовс-1251 , необходимо найти (или создать ) файл .htaccess . Это файл, который хранит в себе дополнительные настройки и описания конфигураций web-сервера.
В нем для установки кодировки следует прописать следующие строки:
- DefaultLanguage ru;
- AddDefaultCharset windows-1251;
- php_value default_charset «cp1251».
Таким образом, для корректного отображения текста должны совпадать его кодировка и таблица кодов, с помощью которой браузер будет расшифровывать символы. Для текстов, написанных на славянских языках, необходима win 1251 кодировка. Важно помнить, что элементы страниц и баз данных должны быть описаны с помощью одной таблицы кодов.
Хорошо Плохо
Сегодня мы поговорим с вами про то, откуда берутся кракозябры на сайте и в программах, какие кодировки текста существуют и какие из них следует использовать. Подробно рассмотрим историю их развития, начиная от базовой ASCII, а также ее расширенных версий CP866, KOI8-R, Windows 1251 и заканчивая современными кодировками консорциума Юникод UTF 16 и 8. Оглавление:
- Расширенные версии Аски — кодировки CP866 и KOI8-R
- Windows 1251 — вариация ASCII и почему вылезают кракозябры
ASCII — базовая кодировка текста для латиницы
Развитие кодировок текстов происходило одновременно с формированием отрасли IT, и они за это время успели претерпеть достаточно много изменений. Исторически все начиналось с довольно-таки не благозвучной в русском произношении EBCDIC, которая позволяла кодировать буквы латинского алфавита, арабские цифры и знаки пунктуации с управляющими символами. Но все же отправной точкой для развития современных кодировок текстов стоит считать знаменитую ASCII (American Standard Code for Information Interchange, которая по-русски обычно произносится как «аски»). Она описывает первые 128 символов из наиболее часто используемых англоязычными пользователями — латинские буквы, арабские цифры и знаки препинания. Еще в эти 128 знаков, описанных в ASCII, попадали некоторые служебные символы навроде скобок, решеток, звездочек и т.п. Собственно, вы сами можете увидеть их:Именно эти 128 символов из первоначального вариант ASCII стали стандартом, и в любой другой кодировке вы их обязательно встретите и стоять они будут именно в таком порядке. Но дело в том, что с помощью одного байта информации можно закодировать не 128, а целых 256 различных значений (двойка в степени восемь равняется 256), поэтому вслед за базовой версией Аски появился целый ряд расширенных кодировок ASCII , в которых можно было кроме 128 основных знаков закодировать еще и символы национальной кодировки (например, русской). Тут, наверное, стоит еще немного сказать про системы счисления, которые используются при описании. Во-первых, как вы все знаете, компьютер работает только с числами в двоичной системе, а именно с нулями и единицами («булева алгебра», если кто проходил в институте или в школе). Один байт состоит из восьми бит, каждый из которых представляет из себя двойку в степени, начиная с нулевой, и до двойки в седьмой:
Не трудно понять, что всех возможных комбинаций нулей и единиц в такой конструкции может быть только 256. Переводить число из двоичной системы в десятичную довольно просто. Нужно просто сложить все степени двойки, над которыми стоят единички. В нашем примере это получается 1 (2 в степени ноль) плюс 8 (два в степени 3), плюс 32 (двойка в пятой степени), плюс 64 (в шестой), плюс 128 (в седьмой). Итого получает 233 в десятичной системе счисления. Как видите, все очень просто. Но если вы присмотритесь к таблице с символами ASCII, то увидите, что они представлены в шестнадцатеричной кодировке. Например, «звездочка» соответствует в Аски шестнадцатеричному числу 2A. Наверное, вам известно, что в шестнадцатеричной системе счисления используются кроме арабских цифр еще и латинские буквы от A (означает десять) до F (означает пятнадцать). Ну так вот, для перевода двоичного числа в шестнадцатеричное прибегают к следующему простому и наглядному способу. Каждый байт информации разбивают на две части по четыре бита, как показано на приведенном выше скриншоте. Т.о. в каждой половинке байта двоичным кодом можно закодировать только шестнадцать значений (два в четвертой степени), что можно легко представить шестнадцатеричным числом. Причем, в левой половине байта считать степени нужно будет опять начиная с нулевой, а не так, как показано на скриншоте. В результате, путем нехитрых вычислений, мы получим, что на скриншоте закодировано число E9. Надеюсь, что ход моих рассуждений и разгадка данного ребуса вам оказались понятны. Ну, а теперь продолжим, собственно, говорить про кодировки текста.
Расширенные версии Аски — кодировки CP866 и KOI8-R с псевдографикой
Итак, мы с вами начали говорить про ASCII, которая являлась как бы отправной точкой для развития всех современных кодировок (Windows 1251, юникод, UTF 8). Изначально в нее было заложено только 128 знаков латинского алфавита, арабских цифр и еще чего-то там, но в расширенной версии появилась возможность использовать все 256 значений, которые можно закодировать в одном байте информации. Т.е. появилась возможность добавить в Аски символы букв своего языка. Тут нужно будет еще раз отвлечься, чтобы пояснить — зачем вообще нужны кодировки текстов и почему это так важно. Символы на экране вашего компьютера формируются на основе двух вещей — наборов векторных форм (представлений) всевозможных знаков (они находятся в файлах со шрифтами, которые установлены на вашем компьютере) и кода, который позволяет выдернуть из этого набора векторных форм (файла шрифта) именно тот символ, который нужно будет вставить в нужное место. Понятно, что за сами векторные формы отвечают шрифты, а вот за кодирование отвечает операционная система и используемые в ней программы. Т.е. любой текст на вашем компьютере будет представлять собой набор байтов, в каждом из которых закодирован один единственный символ этого самого текста. Программа, отображающая этот текст на экране (текстовый редактор, браузер и т.п.), при разборе кода считывает кодировку очередного знака и ищет соответствующую ему векторную форму в нужном файле шрифта, который подключен для отображения данного текстового документа. Все просто и банально. Значит, чтобы закодировать любой нужный нам символ (например, из национального алфавита), должно быть выполнено два условия — векторная форма этого знака должна быть в используемом шрифте и этот символ можно было бы закодировать в расширенных кодировках ASCII в один байт. Поэтому таких вариантов существует целая куча. Только лишь для кодирования символов русского языка существует несколько разновидностей расширенной Аски. Например, изначально появилась CP866 , в которой была возможность использовать символы русского алфавита и она являлась расширенной версией ASCII. Т.е. ее верхняя часть полностью совпадала с базовой версией Аски (128 символов латиницы, цифр и еще всякой лабуды), которая представлена на приведенном чуть выше скриншоте, а вот уже нижняя часть таблицы с кодировкой CP866 имела указанный на скриншоте чуть ниже вид и позволяла закодировать еще 128 знаков (русские буквы и всякая там псевдографика):Видите, в правом столбце цифры начинаются с 8, т.к. числа с 0 до 7 относятся к базовой части ASCII (см. первый скриншот). Т.о. русская буква «М» в CP866 будет иметь код 9С (она находится на пересечении соответствующих строки с 9 и столбца с цифрой С в шестнадцатеричной системе счисления), который можно записать в одном байте информации, и при наличии подходящего шрифта с русскими символами эта буква без проблем отобразится в тексте. Откуда взялось такое количество псевдографики в CP866 ? Тут все дело в том, что эта кодировка для русского текста разрабатывалась еще в те мохнатые года, когда не было такого распространения графических операционных систем как сейчас. А в Досе, и подобных ей текстовых операционках, псевдографика позволяла хоть как-то разнообразить оформление текстов и поэтому ею изобилует CP866 и все другие ее ровесницы из разряда расширенных версий Аски. CP866 распространяла компания IBM, но кроме этого для символов русского языка были разработаны еще ряд кодировок, например, к этому же типу (расширенных ASCII) можно отнести KOI8-R :
Принцип ее работы остался тот же самый, что и у описанной чуть ранее CP866 — каждый символ текста кодируется одним единственным байтом. На скриншоте показана вторая половина таблицы KOI8-R, т.к. первая половина полностью соответствует базовой Аски, которая показана на первом скриншоте в этой статье. Среди особенностей кодировки KOI8-R можно отметить то, что русские буквы в ее таблице идут не в алфавитном порядке, как это, например, сделали в CP866. Если посмотрите на самый первый скриншот (базовой части, которая входит во все расширенные кодировки), то заметите, что в KOI8-R русские буквы расположены в тех же ячейках таблицы, что и созвучные им буквы латинского алфавита из первой части таблицы. Это было сделано для удобства перехода с русских символов на латинские путем отбрасывания всего одного бита (два в седьмой степени или 128).
Windows 1251 — современная версия ASCII и почему вылезают кракозябры
Дальнейшее развитие кодировок текста было связано с тем, что набирали популярность графические операционные системы и необходимость использования псевдографики в них со временем пропала. В результате возникла целая группа, которая по своей сути по-прежнему являлись расширенными версиями Аски (один символ текста кодируется всего одним байтом информации), но уже без использования символов псевдографики. Они относились к так называемым ANSI кодировкам, которые были разработаны американским институтом стандартизации. В просторечии еще использовалось название кириллица для варианта с поддержкой русского языка. Примером такой может служить Windows 1251 . Она выгодно отличалась от используемых ранее CP866 и KOI8-R тем, что место символов псевдографики в ней заняли недостающие символы русской типографики (окромя знака ударения), а также символы, используемые в близких к русскому славянских языках (украинскому, белорусскому и т.д.):Из-за такого обилия кодировок русского языка, у производителей шрифтов и производителей программного обеспечения постоянно возникала головная боль, а у нас с вам, уважаемые читатели, зачастую вылезали те самые пресловутые кракозябры , когда происходила путаница с используемой в тексте версией. Очень часто они вылезали при отправке и получении сообщений по электронной почте, что повлекло за собой создание очень сложных перекодировочных таблиц, которые, собственно, решить эту проблему в корне не смогли, и зачастую пользователи для переписки использовали транслит латинских букв, чтобы избежать пресловутых кракозябров при использовании русских кодировок подобных CP866, KOI8-R или Windows 1251. По сути, кракозябры, вылазящие вместо русского текста, были результатом некорректного использования кодировки данного языка, которая не соответствовала той, в которой было закодировано текстовое сообщение изначально. Допустим, если символы, закодированные с помощью CP866, попробовать отобразить, используя кодовую таблицу Windows 1251, то эти самые кракозябры (бессмысленный набор знаков) и вылезут, полностью заменив собой текст сообщения. Аналогичная ситуация очень часто возникает при создании и настройке сайтов, форумов или блогов, когда текст с русскими символами по ошибке сохраняется не в той кодировке, которая используется на сайте по умолчанию, или же не в том текстовом редакторе, который добавляет в код отсебятину не видимую невооруженным глазом. В конце концов такая ситуация с множеством кодировок и постоянно вылезающими кракозябрами многим надоела, появились предпосылки к созданию новой универсальной вариации, которая бы заменила собой все существующие и решила бы, наконец, на корню проблему с появлением не читаемых текстов. Кроме этого существовала проблема языков подобных китайскому, где символов языка было гораздо больше, чем 256.
Юникод (Unicode) — универсальные кодировки UTF 8, 16 и 32
Эти тысячи знаков языковой группы юго-восточной Азии никак невозможно было описать в одном байте информации, который выделялся для кодирования символов в расширенных версиях ASCII. В результате был создан консорциум под названием Юникод (Unicode — Unicode Consortium) при сотрудничестве многих лидеров IT индустрии (те, кто производит софт, кто кодирует железо, кто создает шрифты), которые были заинтересованы в появлении универсальной кодировки текста. Первой вариацией, вышедшей под эгидой консорциума Юникод, была UTF 32 . Цифра в названии кодировки означает количество бит, которое используется для кодирования одного символа. 32 бита составляют 4 байта информации, которые понадобятся для кодирования одного единственного знака в новой универсальной кодировке UTF. В результате чего, один и тот же файл с текстом, закодированный в расширенной версии ASCII и в UTF-32, в последнем случае будет иметь размер (весить) в четыре раза больше. Это плохо, но зато теперь у нас появилась возможность закодировать с помощью ЮТФ число знаков, равное двум в тридцать второй степени (миллиарды символов , которые покроют любое реально необходимое значение с колоссальным запасом). Но многим странам с языками европейской группы такое огромное количество знаков использовать в кодировке вовсе и не было необходимости, однако при задействовании UTF-32 они ни за что ни про что получали четырехкратное увеличение веса текстовых документов, а в результате и увеличение объема интернет трафика и объема хранимых данных. Это много, и такое расточительство себе никто не мог позволить. В результате развития Юникода появилась UTF-16 , которая получилась настолько удачной, что была принята по умолчанию как базовое пространство для всех символов, которые у нас используются. Она использует два байта для кодирования одного знака. Давайте посмотрим, как это дело выглядит. В операционной системе Windows вы можете пройти по пути «Пуск» — «Программы» — «Стандартные» — «Служебные» — «Таблица символов». В результате откроется таблица с векторными формами всех установленных у вас в системе шрифтов. Если вы выберете в «Дополнительных параметрах» набор знаков Юникод, то сможете увидеть для каждого шрифта в отдельности весь ассортимент входящих в него символов. Кстати, щелкнув по любому из них, вы сможете увидеть его двухбайтовый код в формате UTF-16 , состоящий из четырех шестнадцатеричных цифр: Сколько символов можно закодировать в UTF-16 с помощью 16 бит? 65 536 (два в степени шестнадцать), и именно это число было принято за базовое пространство в Юникоде. Помимо этого существуют способы закодировать с помощью нее и около двух миллионов знаков, но ограничились расширенным пространством в миллион символов текста. Но даже эта удачная версия кодировки Юникода не принесла особого удовлетворения тем, кто писал, допустим, программы только на английском языке, ибо у них, после перехода от расширенной версии ASCII к UTF-16, вес документов увеличивался в два раза (один байт на один символ в Аски и два байта на тот же самый символ в ЮТФ-16). Вот именно для удовлетворения всех и вся в консорциуме Unicode было решено придумать кодировку переменной длины. Ее назвали UTF-8. Несмотря на восьмерку в названии, она действительно имеет переменную длину, т.е. каждый символ текста может быть закодирован в последовательность длиной от одного до шести байт. На практике же в UTF-8 используется только диапазон от одного до четырех байт, потому что за четырьмя байтами кода ничего уже даже теоретически не возможно представить. Все латинские знаки в ней кодируются в один байт, так же как и в старой доброй ASCII. Что примечательно, в случае кодирования только латиницы, даже те программы, которые не понимают Юникод, все равно прочитают то, что закодировано в ЮТФ-8. Т.е. базовая часть Аски просто перешла в это детище консорциума Unicode. Кириллические же знаки в UTF-8 кодируются в два байта, а, например, грузинские — в три байта. Консорциум Юникод после создания UTF 16 и 8 решил основную проблему — теперь у нас в шрифтах существует единое кодовое пространство . И теперь их производителям остается только исходя из своих сил и возможностей заполнять его векторными формами символов текста. В приведенной чуть выше «Таблице символов» видно, что разные шрифты поддерживают разное количество знаков. Некоторые насыщенные символами Юникода шрифты могут весить очень прилично. Но зато теперь они отличаются не тем, что они созданы для разных кодировок, а тем, что производитель шрифта заполнил или не заполнил единое кодовое пространство теми или иными векторными формами до конца.Кракозябры вместо русских букв — как исправить
Давайте теперь посмотрим, как появляются вместо текста кракозябры или, другими словами, как выбирается правильная кодировка для русского текста. Собственно, она задается в той программе, в которой вы создаете или редактируете этот самый текст, или же код с использованием текстовых фрагментов. Для редактирования и создания текстовых файлов лично я использую очень хороший, на мой взгляд, Html и PHP редактор Notepad++ . Впрочем, он может подсвечивать синтаксис еще доброй сотни языков программирования и разметки, а также имеет возможность расширения с помощью плагинов. Читайте подробный обзор этой замечательной программы по приведенной ссылке. В верхнем меню Notepad++ есть пункт «Кодировки», где у вас будет возможность преобразовать уже имеющийся вариант в тот, который используется на вашем сайте по умолчанию:В случае сайта на Joomla 1.5 и выше, а также в случае блога на WordPress следует во избежании появления кракозябров выбирать вариант UTF 8 без BOM . А что такое приставка BOM? Дело в том, что когда разрабатывали кодировку ЮТФ-16, зачем-то решили прикрутить к ней такую вещь, как возможность записывать код символа, как в прямой последовательности (например, 0A15), так и в обратной (150A). А для того, чтобы программы понимали, в какой именно последовательности читать коды, и был придуман BOM (Byte Order Mark или, другими словами, сигнатура), которая выражалась в добавлении трех дополнительных байтов в самое начало документов. В кодировке UTF-8 никаких BOM предусмотрено в консорциуме Юникод не было и поэтому добавление сигнатуры (этих самых пресловутых дополнительных трех байтов в начало документа) некоторым программам просто-напросто мешает читать код. Поэтому мы всегда при сохранении файлов в ЮТФ должны выбирать вариант без BOM (без сигнатуры). Таким образом, вы заранее обезопасите себя от вылезания кракозябров . Что примечательно, некоторые программы в Windows не умеют этого делать (не умеют сохранять текст в ЮТФ-8 без BOM), например, все тот же пресловутый Блокнот Windows. Он сохраняет документ в UTF-8, но все равно добавляет в его начало сигнатуру (три дополнительных байта). Причем эти байты будут всегда одни и те же — читать код в прямой последовательности. Но на серверах из-за этой мелочи может возникнуть проблема — вылезут кракозябры. Поэтому ни в коем случае не пользуйтесь обычным блокнотом Windows для редактирования документов вашего сайта, если не хотите появления кракозябров. Лучшим и наиболее простым вариантом я считаю уже упомянутый редактор Notepad++, который практически не имеет недостатков и состоит из одних лишь достоинств. В Notepad ++ при выборе кодировки у вас будет возможность преобразовать текст в кодировку UCS-2, которая по своей сути очень близка к стандарту Юникод. Также в Нотепаде можно будет закодировать текст в ANSI, т.е. применительно к русскому языку это будет уже описанная нами чуть выше Windows 1251. Откуда берется эта информация? Она прописана в реестре вашей операционной системы Windows — какую кодировку выбирать в случае ANSI, какую выбирать в случае OEM (для русского языка это будет CP866). Если вы установите на своем компьютере другой язык по умолчанию, то и эти кодировки будут заменены на аналогичные из разряда ANSI или OEM для того самого языка. После того, как вы в Notepad++ сохраните документ в нужной вам кодировке или же откроете документ с сайта для редактирования, то в правом нижнем углу редактора сможете увидеть ее название: Чтобы избежать кракозябров , кроме описанных выше действий, будет полезным прописать в его шапке исходного кода всех страниц сайта информацию об этой самой кодировке, чтобы на сервере или локальном хосте не возникло путаницы. Вообще, во всех языках гипертекстовой разметки кроме Html используется специальное объявление xml, в котором указывается кодировка текста. Прежде, чем начать разбирать код, браузер узнает, какая версия используется и как именно нужно интерпретировать коды символов этого языка. Но что примечательно, в случае, если вы сохраняете документ в принятом по умолчанию юникоде, то это объявление xml можно будет опустить (кодировка будет считаться UTF-8, если нет BOM или ЮТФ-16, если BOM есть). В случае же документа языка Html для указания кодировки используется элемент Meta , который прописывается между открывающим и закрывающим тегом Head: . . . . . . Эта запись довольно сильно отличается от принятой в стандарте в Html 4.01, но полностью соответствует новому внедряемому потихоньку стандарту Html 5, и она будет стопроцентно правильно понята любыми используемыми на текущий момент браузерами. По идее, элемент Meta с указание кодировки Html документа лучше будет ставить как можно выше в шапке документа , чтобы на момент встречи в тексте первого знака не из базовой ANSI (которые правильно прочитаются всегда и в любой вариации) браузер уже должен иметь информацию о том, как интерпретировать коды этих символов. Ссылка на перво
Рекомендуем также
Кодовые страницы — Школа N61 г.Ульяновска
На конец 20-го века существовало пять различных кодировок кириллицы (КОИ8-Р, Windows-1251, 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.
В конце 20-го века наиболее распространенной была кодировка Microsoft Windows обозначаемая сокращением CP1251. Введена компанией Microsoft; с учетом широкого распространения операционных систем (ОС) и других программных продуктов этой компании в Российской Федерации она нашла широкое распространение.
С конца 90-х годов проблема стандартизации символьного кодирования решается введением нового международного стандарта который называется Unicode.
Это 16-разрядная кодировка т.е. в ней на каждый символ отводится 2 байта памяти. Конечно при этом объем занимаемой памяти увеличивается в 2 раза. Но зато такая кодовая таблица допускает включение до 65536 символов. Полная спецификация стандарта Unicode включает в себя все существующие вымершие и искусственно созданные алфавиты мира а также множество математических музыкальных химических и прочих символов.
Внутреннее представление слов в памяти компьютера с помощью таблицы ASCII
Слова |
Память |
file |
01100110 01101001 01101100 01100101 |
disk |
01100100 01101001 01110011 01101011 |
Иногда бывает так что текст состоящий из букв русского алфавита полученный с другого компьютера невозможно прочитать — на экране монитора видна какая-то «абракадабра». Это происходит оттого что на компьютерах применяется разная кодировка символов русского языка.
Таким образом каждая кодировка задается своей собственной кодовой таблицей. Как видно из таблицы одному и тому же двоичному коду в различных кодировках поставлены в соответ-ствие различные символы.
Сравнительная таблица части кодов разных кодировок русского языка
Кодовая старница |
Код символа |
cим вол | … |
65 / 97 193 / 225 |
66 / 98 194 / 226 |
67 / 99 195 / 227 |
68 / 100 196 / 228 |
69 / 101 197 / 229 |
70 / 102 198 / 230 |
71 / 103 199 / 231 |
72 / 104 200 / 232 | … | ||||||||||
ASCII | 0000 0000 | :) | … | 65 | 0100 0001 | A | 0100 0010 | B | 0100 0011 | C | 0100 0100 | D | 0100 0101 | E | 0100 0110 | F | 0100 0111 | G | 0100 1000 | H | … | |
koi8-r | 1000 0000 | - | … | 193 | 1100 0001 | а | 1100 0010 | б | 1100 0011 | ц | 1100 0100 | д | 1100 0101 | е | 1100 0110 | ф | 1100 0111 | г | 1100 1000 | х | … | |
ASCII | 0000 0000 | … | 97 | 0110 0001 | a | 0110 0010 | b | 0110 0011 | c | 0110 0100 | d | 0110 0101 | e | 0110 0110 | f | 0110 0111 | g | 0110 1000 | h | … | ||
koi8-r | 1000 0000 | … | 225 | 1110 0001 | А | 1110 0010 | Б | 1110 0011 | Ц | 1110 0100 | Д | 1110 0101 | Е | 1110 0110 | Ф | 1110 0111 | Г | 1110 1000 | Х | … | ||
CP866 | 1000 0000 | А | Б | … | 225 | 1110 0001 | с | 1110 0010 | т | 1110 0011 | у | 1110 0100 | ф | 1110 0101 | х | 1110 0110 | ц | 1110 0111 | ч | 1110 1000 | ш | … |
ISO 8859-5 | 1000 0000 | [] | … | 225 | 1110 0001 | с | 1110 0010 | т | 1110 0011 | у | 1110 0100 | ф | 1110 0101 | х | 1110 0110 | ц | 1110 0111 | ч | 1110 1000 | ш | … | |
MAC | 1000 0000 | А | Б | … | 225 | 1110 0001 | б | 1110 0010 | в | 1110 0011 | г | 1110 0100 | д | 1110 0101 | е | 1110 0110 | ж | 1110 0111 | з | 1110 1000 | и | … |
CP1251 | 1000 0000 | Á | à | … | 225 | 1110 0001 | б | 1110 0010 | в | 1110 0011 | г | 1110 0100 | д | 1110 0101 | е | 1110 0110 | ж | 1110 0111 | з | 1110 1000 | и | … |
ISO-10646-UCS-4 | ISO 10646 | Универсальный набор символов с 31 битом для кода символа, стандартизованный в ISO/IEC 10646 как UCS-4. Установлена синхронизация со стандартом Юникод. | Если это название используется в средствах преобразования кодировок, конвертер попытается определить порядок расположения байтов по BOM (метка порядка байтов). |
ISO-10646-UCS-4 | UCS-4 | Смотрите выше. | В отличие от UCS-4 , строки всегда принимаются
закодированными в прямом порядке расположения байтов. |
ISO-10646-UCS-4 | UCS-4 | Смотрите выше. | В отличие от UCS-4 , строки всегда принимаются
закодированными в обратном порядке расположения байтов. |
ISO-10646-UCS-2 | UCS-2 | Универсальный набор символов с 16 битом для кода символа, стандартизованный в ISO/IEC 10646 как UCS-2. Установлена синхронизация со стандартом Юникод. | Если это название используется в средствах преобразования кодировок, конвертер попытается определить порядок расположения байтов по BOM (метка порядка байтов). |
ISO-10646-UCS-2 | UCS-2 | Смотрите выше. | В отличие от UCS-2 , строки всегда принимаются
закодированными в прямом порядке расположения байтов. |
ISO-10646-UCS-2 | UCS-2 | Смотрите выше. | В отличие от UCS-2 , строки всегда принимаются
закодированными в обратном порядке расположения байтов. |
UTF-32 | Юникод | Формат преобразования Юникода с 32-битной шириной символа, кодовое пространство которого соответствует стандарту кодовой таблицы Юникода. Эта схема кодирования не идентична UCS-4, так как кодовое пространство Юникода ограничено 21-м битом. | Если это название используется в средствах преобразования кодировок, конвертер попытается определить порядок расположения байтов по BOM (метка порядка байтов). |
UTF-32BE | Юникод | Смотрите выше | В отличие от UTF-32 , строки всегда принимаются
закодированными в прямом порядке расположения байтов. |
UTF-32LE | Юникод | Смотрите выше | В отличие от UTF-32 , строки всегда принимаются
закодированными в обратном порядке расположения байтов. |
UTF-16 | Юникод | Формат преобразования Юникода с 32-битной шириной кода символа. Спецификация UTF-16 отличается от UCS-2 ввиду того, что начиная с Юникод 2.0 был внедрён механизм замещения символов и теперь UTF-16 ссылается на 21-битное кодовое пространство. | Если это название используется в средствах преобразования кодировок, конвертер попытается определить порядок расположения байтов по BOM (метка порядка байтов). |
UTF-16BE | Юникод | Смотрите выше. | В отличие от UTF-16 , строки всегда принимаются
закодированными в прямом порядке расположения байтов. |
UTF-16LE | Юникод | Смотрите выше. | В отличие от UTF-16 , строки всегда принимаются
закодированными в обратном порядке расположения байтов. |
UTF-8 | Юникод / UCS | Формат преобразования Юникода с 32-битной шириной кода символа. | нет |
UTF-7 | Юникод | Безопасный для почтовых программ и решений формат преобразования Юникода, определённый в спецификации » RFC2152. | нет |
(нет) | Юникод | Разновидность UTF-7, специально разработанная для использования в » протоколе IMAP. | нет |
US-ASCII (предпочитаемое MIME-имя) / iso-ir-6 / ANSI_X3.4-1986 / ISO_646.irv:1991 / ASCII / ISO646-US / us / IBM367 / CP367 / csASCII | ASCII / ISO 646 | ASCII (American Standard Code for Information Interchange — американский стандартный код для обмена информацией) — широко используемая 7-битная кодировка. Также стандартизована как международный стандарт ISO 646. | (нет) |
EUC-JP (предпочитаемое MIME-имя) / Extended_UNIX_Code_Packed_Format_for_Japanese / csEUCPkdFmtJapanese | Объединение US-ASCII / JIS X0201:1997 (часть hankaku kana) / JIS X0208:1990 / JIS X0212:1990 | Как видно из названия, эта кодировка используется в основном в Unix системах или им подобных. Исходная схема кодирования Extended UNIX Code легла в основу стандарта ISO 2022. | Набор символов, на который ссылается EUC-JP отличен от набора для IBM932 / CP932, которые используются в OS/2® и Microsoft® Windows®. Для обеспечения взаимодействия между этими платформами используйте кодировку EUCJP-WIN. |
Shift_JIS (предпочитаемое MIME-имя) / MS_Kanji / csShift_JIS | Объединение JIS X0201:1997 / JIS X0208:1997 | Shift_JIS был разработан в начале 80-х, когда Японские текстовые процессоры для рядовых пользователей только выходили на рынок, чтобы сохранить совместимость со схемой кодирования JIS X 0201:1976. В соответствии с определением IANA, кодовая таблица Shift_JIS несколько отличается от IBM932 / CP932. Тем не менее, названия «SJIS» / «Shift_JIS» ошибочно используются для обращения к этим кодовым таблицам. | Для кодовой таблицы CP932, используйте кодировку SJIS-WIN. |
(none) | Объединение JIS X0201:1997 / JIS X0208:1997 / IBM расширения / NEC расширения | Несмотря на то, что эта «кодировка» использует ту же схему кодирования, что и EUC-JP, наборы символов, лежащий в их основе, различны. Таким образом, некоторые коды ссылаются на отличные от EUC-JP символы. | нет |
Windows-31J / csWindows31J | Объединение JIS X0201:1997 / JIS X0208:1997 / IBM расширения / NEC расширения | Несмотря на то, что эта «кодировка» использует ту же схему кодирования, что и Shift_JIS, наборы символов, лежащий в их основе, различны. Таким образом, некоторые коды ссылаются на отличные от Shift_JIS символы. | (нет) |
ISO-2022-JP (предпочитаемое MIME-имя) / csISO2022JP | US-ASCII / JIS X0201:1976 / JIS X0208:1978 / JIS X0208:1983 | » RFC1468 | (нет) |
JIS | |||
ISO-8859-1 | |||
ISO-8859-2 | |||
ISO-8859-3 | |||
ISO-8859-4 | |||
ISO-8859-5 | |||
ISO-8859-6 | |||
ISO-8859-7 | |||
ISO-8859-8 | |||
ISO-8859-9 | |||
ISO-8859-10 | |||
ISO-8859-13 | |||
ISO-8859-14 | |||
ISO-8859-15 | |||
ISO-8859-16 | |||
byte2be | |||
byte2le | |||
byte4be | |||
byte4le | |||
BASE64 | |||
HTML-ENTITIES | |||
7bit | |||
8bit | |||
EUC-CN | |||
CP936 | |||
HZ | |||
EUC-TW | |||
CP950 | |||
BIG-5 | |||
EUC-KR | |||
UHC (CP949) | |||
ISO-2022-KR | |||
Windows-1251 (CP1251) | |||
Windows-1252 (CP1252) | |||
CP866 (IBM866) | |||
KOI8-R | |||
KOI8-U |
Ирландский язык кодовая страница windows.
Windows-1251 — набор символов и кодировка, являющаяся стандартной 8-битной кодировкой для всех русских версий Microsoft Windows. Данная кодировка пользуется довольно большой популярностью в восточно-европейских странах. Windows-1251 выгодно отличается от других 8-битных кириллических кодировок (таких как CP866, KOI8-R и ISO 8859-5) наличием практически всех символов, использующихся в традиционной русской типографике для обычного текста (отсутствует только знак ударения). Кириллические символы идут в алфавитном порядке.
Windows-1251 также содержит все символы для близких к русскому языку языков: белорусского, украинского, сербского, македонского и болгарского.
На практике этого оказалось достаточно, чтобы кодировка Windows-1251 закрепилась в интернете вплоть до распространения UTF-8.
Dec | Hex | Символ | Dec | Hex | Символ | |
---|---|---|---|---|---|---|
000 | 00 | NOP | 128 | 80 | Ђ | |
001 | 01 | SOH | 129 | 81 | Ѓ | |
002 | 02 | STX | 130 | 82 | ‚ | |
003 | 03 | ETX | 131 | 83 | ѓ | |
004 | 04 | EOT | 132 | 84 | „ | |
005 | 05 | ENQ | 133 | 85 | … | |
006 | 06 | ACK | 134 | 86 | † | |
007 | 07 | BEL | 135 | 87 | ‡ | |
008 | 08 | BS | 136 | 88 | € | |
009 | 09 | TAB | 137 | 89 | ‰ | |
010 | 0A | LF | 138 | 8A | Љ | |
011 | 0B | VT | 139 | 8B | ‹ | |
012 | 0C | FF | 140 | 8C | Њ | |
013 | 0D | CR | 141 | 8D | Ќ | |
014 | 0E | SO | 142 | 8E | Ћ | |
015 | 0F | SI | 143 | 8F | Џ | |
016 | 10 | DLE | 144 | 90 | ђ | |
017 | 11 | DC1 | 145 | 91 | ‘ | |
018 | 12 | DC2 | 146 | 92 | ’ | |
019 | 13 | DC3 | 147 | 93 | “ | |
020 | 14 | DC4 | 148 | 94 | ” | |
021 | 15 | NAK | 149 | 95 | ||
022 | 16 | SYN | 150 | 96 | – | |
023 | 17 | ETB | 151 | 97 | — | |
024 | 18 | CAN | 152 | 98 | ||
025 | 19 | EM | 153 | 99 | ™ | |
026 | 1A | SUB | 154 | 9A | љ | |
027 | 1B | ESC | 155 | 9B | › | |
028 | 1C | FS | 156 | 9C | њ | |
029 | 1D | GS | 157 | 9D | ќ | |
030 | 1E | RS | 158 | 9E | ћ | |
031 | 1F | US | 159 | 9F | џ | |
032 | 20 | SP | 160 | A0 | ||
033 | 21 | ! | 161 | A1 | Ў | |
034 | 22 | » | 162 | A2 | ў | |
035 | 23 | # | 163 | A3 | Ћ | |
036 | 24 | $ | 164 | A4 | ¤ | |
037 | 25 | % | 165 | A5 | Ґ | |
038 | 26 | & | 166 | A6 | ¦ | |
039 | 27 | » | 167 | A7 | § | |
040 | 28 | ( | 168 | A8 | Ё | |
041 | 29 | ) | 169 | A9 | © | |
042 | 2A | * | 170 | AA | Є | |
043 | 2B | + | 171 | AB | « | |
044 | 2C | , | 172 | AC | ¬ | |
045 | 2D | — | 173 | AD | | |
046 | 2E | . | 174 | AE | ® | |
047 | 2F | / | 175 | AF | Ї | |
048 | 30 | 0 | 176 | B0 | ° | |
049 | 31 | 1 | 177 | B1 | ± | |
050 | 32 | 2 | 178 | B2 | І | |
051 | 33 | 3 | 179 | B3 | і | |
052 | 34 | 4 | 180 | B4 | ґ | |
053 | 35 | 5 | 181 | B5 | µ | |
054 | 36 | 6 | 182 | B6 | ¶ | |
055 | 37 | 7 | 183 | B7 | · | |
056 | 38 | 8 | 184 | B8 | ё | |
057 | 39 | 9 | 185 | B9 | № | |
058 | 3A | : | 186 | BA | є | |
059 | 3B | ; | 187 | BB | » | |
060 | 3C | 188 | BC | ј | ||
061 | 3D | = | 189 | BD | Ѕ | |
062 | 3E | > | 190 | BE | ѕ | |
063 | 3F | ? | 191 | BF | ї | |
064 | 40 | @ | 192 | C0 | А | |
065 | 41 | A | 193 | C1 | Б | |
066 | 42 | B | 194 | C2 | В | |
067 | 43 | C | 195 | C3 | Г | |
068 | 44 | D | 196 | C4 | Д | |
069 | 45 | E | 197 | C5 | Е | |
070 | 46 | F | 198 | C6 | Ж | |
071 | 47 | G | 199 | C7 | З | |
072 | 48 | H | 200 | C8 | И | |
073 | 49 | I | 201 | C9 | Й | |
074 | 4A | J | 202 | CA | К | |
075 | 4B | K | 203 | CB | Л | |
076 | 4C | L | 204 | CC | М | |
077 | 4D | M | 205 | CD | Н | |
078 | 4E | N | 206 | CE | О | |
079 | 4F | O | 207 | CF | П | |
080 | 50 | P | 208 | D0 | Р | |
081 | 51 | Q | 209 | D1 | С | |
082 | 52 | R | 210 | D2 | Т | |
083 | 53 | S | 211 | D3 | У | |
084 | 54 | T | 212 | D4 | Ф | |
085 | 55 | U | 213 | D5 | Х | |
086 | 56 | V | 214 | D6 | Ц | |
087 | 57 | W | 215 | D7 | Ч | |
088 | 58 | X | 216 | D8 | Ш | |
089 | 59 | Y | 217 | D9 | Щ | |
090 | 5A | Z | 218 | DA | Ъ | |
091 | 5B | [ | 219 | DB | Ы | |
092 | 5C | \ | 220 | DC | Ь | |
093 | 5D | ] | 221 | DD | Э | |
094 | 5E | ^ | 222 | DE | Ю | |
095 | 5F | _ | 223 | DF | Я | |
096 | 60 | ` | 224 | E0 | а | |
097 | 61 | a | 225 | E1 | б | |
098 | 62 | b | 226 | E2 | в | |
099 | 63 | c | 227 | E3 | г | |
100 | 64 | d | 228 | E4 | д | |
101 | 65 | e | 229 | E5 | е | |
102 | 66 | f | 230 | E6 | ж | |
103 | 67 | g | 231 | E7 | з | |
104 | 68 | h | 232 | E8 | и | |
105 | 69 | i | 233 | E9 | й | |
106 | 6A | j | 234 | EA | к | |
107 | 6B | k | 235 | EB | л | |
108 | 6C | l | 236 | EC | м | |
109 | 6D | m | 237 | ED | н | |
110 | 6E | n | 238 | EE | о | |
111 | 6F | o | 239 | EF | п | |
112 | 70 | p | 240 | F0 | р | |
113 | 71 | q | 241 | F1 | с | |
114 | 72 | r | 242 | F2 | т | |
115 | 73 | s | 243 | F3 | у | |
116 | 74 | t | 244 | F4 | ф | |
117 | 75 | u | 245 | F5 | х | |
118 | 76 | v | 246 | F6 | ц | |
119 | 77 | w | 247 | F7 | ч | |
120 | 78 | x | 248 | F8 | ш | |
121 | 79 | y | 249 | F9 | щ | |
122 | 7A | z | 250 | FA | ъ | |
123 | 7B | { | 251 | FB | ы | |
124 | 7C | | | 252 | FC | ь | |
125 | 7D | } | 253 | FD | э | |
126 | 7E | ~ | 254 | FE | ю | |
127 | 7F | DEL | 255 | FF | я |
Описание специальных (управляющих) символов
Первоначально управляющие символы таблицы ASCII (диапазон 00-31, плюс 127) были разработаны для того, чтобы управлять устройствами аппаратных средств, таких как телетайп, ввод данных на перфоленту и др.
Управляющие символы (кроме горизонтальной табуляции, перевода строки и возврата каретки) не используются в HTML-документах.
Код | Описание |
---|---|
NUL, 00 | Null, пустой |
SOH, 01 | Start Of Heading, начало заголовка |
STX, 02 | Start of TeXt, начало текста |
ETX, 03 | End of TeXt, конец текста |
EOT, 04 | End of Transmission, конец передачи |
ENQ, 05 | Enquire. Прошу подтверждения |
ACK, 06 | Acknowledgement. Подтверждаю |
BEL, 07 | Bell, звонок |
BS, 08 | Backspace, возврат на один символ назад |
TAB, 09 | Tab, горизонтальная табуляция |
LF, 0A | Line Feed, перевод строки Сейчас в большинстве языков программирования обозначается как \n |
VT, 0B | Vertical Tab, вертикальная табуляция |
FF, 0C | Form Feed, прогон страницы, новая страница |
CR, 0D | Carriage Return, возврат каретки Сейчас в большинстве языков программирования обозначается как \r |
SO, 0E | Shift Out, изменить цвет красящей ленты в печатающем устройстве |
SI, 0F | Shift In, вернуть цвет красящей ленты в печатающем устройстве обратно |
DLE, 10 | Data Link Escape, переключение канала на передачу данных |
DC1, 11 DC2, 12 DC3, 13 DC4, 14 | Device Control, символы управления устройствами |
NAK, 15 | Negative Acknowledgment, не подтверждаю |
SYN, 16 | Synchronization. Символ синхронизации |
ETB, 17 | End of Text Block, конец текстового блока |
CAN, 18 | Cancel, отмена переданного ранее |
EM, 19 | End of Medium, конец носителя данных |
SUB, 1A | Substitute, подставить. Ставится на месте символа, значение которого было потеряно или испорчено при передаче |
ESC, 1B | Escape Управляющая последовательность |
FS, 1C | File Separator, разделитель файлов |
GS, 1D | Group Separator, разделитель групп |
RS, 1E | Record Separator, разделитель записей |
US, 1F | Unit Separator, разделитель юнитов |
DEL, 7F | Delete, стереть последний символ. |
Как известно, Windows 10 поддерживает установку языковых пакетов, с помощью которых можно изменять локализацию интерфейса операционной системы. С этим очень близко связано понятие системного языка. Системный язык это не тот, который был добавлен с помощью языкового пакета, а тот, который был выбран при установке самой системы. Если вы работаете на корпоративном компьютере, язык которого менялся посредством установки MUI -пакетов, возможно, вы захотите узнать, какой язык использовался в системе изначально.
Способов определить системный язык несколько.
Рассмотрим их по порядку.
С помощью консольной утилиты DISM
Запустите от имени администратора командную строку и выполните в ней команду dism /online /get-intl . Через несколько секунд получите результат.
Обратите внимание на параметр «Язык пользовательского интерфейса по умолчанию» . Его значение и будет системным языком.
С помощью консоли PowerShell
Запустите консоль от имени администратора и выполните команду ::InstalleduICulture .
Значение параметра DisplayName будет указывать на системный язык. Обратите также внимание на параметр LCID , он содержит код языка, прописанный в реестре Windows (смотрите ниже).
С помощью редактора реестра и таблицы декодирования
Командой regedit откройте редактор реестра и разверните ветку
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language
В правой колонке окна редактора найдите строковый параметр (он в самом низу) и посмотрите его значение.
Оно представлено четырёхзначным кодом, для расшифровки которого следует воспользоваться таблицей декодирования на сайте MSDN . В нашем примере код 0419 соответствует русскому языку.
Одна из возможных проблем, с которыми можно столкнуться после установки Windows 10 — кракозябры вместо русских букв в интерфейсе программ, а также в документах. Чаще неправильное отображение кириллицы встречается в изначально англоязычных и не совсем лицензионных версиях системы, но бывают и исключения.
В этой инструкции — о том, как исправить «кракозябры» (или иероглифы), а точнее — отображение кириллицы в Windows 10 несколькими способами. Возможно, также будет полезным: (для систем на английском и других языках).
Кодовые страницы представляют собой таблицы, в которых определенным байтам сопоставляются определенные символы, а отображение кириллицы в виде иероглифов в Windows 10 связано обычно с тем, что по умолчанию задана не та кодовая страница и это можно исправить несколькими способами, которые могут быть полезны, когда требуется не изменять язык системы в параметрах.
С помощью редактора реестра
Первый способ — использовать редактор реестра. На мой взгляд, это самый щадящий для системы метод, тем не менее, рекомендую прежде чем начинать. Совет про точки восстановления относится и ко всем последующим способам в этом руководстве.
Обычно, это исправляет проблему с отображением русских букв. Вариация способа с помощью редактора реестра (но менее предпочтительная) — посмотреть на текущее значение параметра ACP (обычно — 1252 для изначально англоязычных систем), затем в том же разделе реестра найти параметр с именем 1252 и изменить его значение с c_1252.nls на c_1251.nls .
Путем подмена файла кодовой страницы на c_1251.nls
Второй, не рекомендуемый мной способ, но иногда выбираемый теми, кто считает, что правка реестра — это слишком сложно или опасно: подмена файла кодовой страницы в C:\ Windows\ System32 (предполагается, что у вас установлена западно-европейская кодовая страница — 1252, обычно это так. Посмотреть текущую кодовую страницу можно в параметре ACP в реестре, как было описано в предыдущем способе).
После перезагрузки Windows 10 кириллица должна будет отображаться не в виде иероглифов, а как обычные русские буквы.
Кракозябры — что за слово такое интересное? Этим словом обычно русские пользователи называют неправильное/неверное отображение (кодировку) символов в программах или самой Операционной Системы.
Почему такое случается? Однозначного ответа Вы не найдёте. Это может быть в следствии проделок наших «любимых» вирусов, может из-за сбоя работы ОС Windows (например пропало электричество и выключился компьютер), может программа создала конфликт с другой или ОС и всё «полетело». В общем причин может быть много, а самая интересная — это «Оно само вот так взяло и сломалось».
Читаем статью и узнаём как исправить проблему с кодировкой в программах и ОС Windows, раз уж она случилась.
Кто до сих пор не понял о чём я имею ввиду, вот вам несколько :
Кстати, я тоже попал однажды в эту ситуацию и до сих пор на Рабочем столе лежит файл, который помог мне справится с ней. Поэтому и решил написать данную статью.
За отображение кодировки (шрифта) в Windows отвечает несколько «вещей» — это язык, реестр и файлы самой ОС. Теперь будем их проверять по отдельности и по пунктам.
Как убрать и исправить кракозябры вместо русского (русских букв) в программе или Windows.
1. Проверяем установленный язык для программ, не поддерживающих Юникод. Может он у Вас сбился.
Итак, переходим по пути: Панель управления — Язык и региональные стандарты — вкладка Дополнительно
Там смотрим чтобы язык был Русский.
В Windows XP помимо этого внизу есть список «Кодовые страницы таблиц преобразования» и в нём есть строчка с цифрой 20880 . Нужно чтобы там тоже был Русский
6. Последний пункт, в котором я даю Вам файл, который помог мне всё исправить когда-то и именно поэтому я его оставил на память. Вот архив:
Внутри два файла: кракозбрoff.cmd и кракозбрoff.reg
Принцип у них одинаковый — исправить всеми способами иероглифы, квадратики, вопросы или восклицательные знаки в програмах и ОС Windows (в простонародье кракозябры ). Я пользовался первым и мне помогло.
Ну и напоследок пара советов:
1) Если работаете с реестром, то не забывайте делать бэкап (резервную копию) на тот случай, если что-то пойдёт не так.
2) Желательно после каждого пункта проверять 1ый пункт.
На этом всё. Теперь Вы знаете как исправить убрать/исправить Кракозябры (квадратики, иероглифы, восклицательные и вопросительные знаки) в программе или Windows.
В начале 90-х, когда произошел развал СССР и границы России были открыты, к нам стали поступать программные продукты западного производства. Естественно, все они были англоязычными. В это же время начинает развиваться Интернет. Остро встала проблема русификации ресурсов и программ. Тогда и была придумана русская кодировка Windows 1251. Она позволяет корректно отображать буквы славянских алфавитов:
- русского;
- украинского;
- белорусского;
- сербского;
- болгарского;
- македонского.
Разработка велась русским представительством Microsoft совместно с компаниями «Диалог» и «Параграф». За основу были взяты самописные разработки, которые в 1990-91гг имели хождение среди немногочисленных идеологов ИТ в России.
На сегодняшний день разработан более универсальный способ кодировать символы — UTF-8 (Юникод). В нем представлено почти 90% всех программных и веб-ресурсов. Windows 1251 применяется в 1,6% случаев. (Информация по исследованиям Web Technology Surveys)
Кодировка сайта utf 8 или Windows 1251?
Чтобы ответить на этот вопрос, необходимо немного понять, что такое кодировка и чем они отличаются. Текстовая информация, как впрочем, и любая другая, в компьютере хранится в закодированном виде. Нам легче представить ее как числа. Каждый символ может занимать один или более байт. Windows 1251 является однобайтной кодировкой, а UTF-8 восьмибайтной. Это значит, что в Windows 1251 можно закодировать всего 256 символов.
Так как все сводится к двоичной системе исчисления, а байт – это 8 бит (0 и 1), то и максимальное число сочетаний составляет 28 = 256. Юникод позволяет представлять куда большее число символов, да и на каждый может быть выделен больший размер.
Отсюда и следуют преимущества Юникода:
- В шапке сайта следует указать кодировку, которая используется. Иначе вместо символов отобразятся «кракозяблы». А Юникод является стандартным для всех браузеров – они ловят его «на лету» как установленный по умолчанию.
- Символы сайта останутся одними и теми же, независимо от того, в какой стране загружается ресурс. Это зависит не от географического расположения серверов, а от языка программного обеспечения рабочих станций клиента. Житель Португалии, очевидно, использует клавиатуру и все ПО, включая операционную систему, на родном языке. В его компьютере, скорее всего вообще отсутствует Windows 1251. А если это так, то и сайты на русском языке корректно открываться не будут. Юникод, в свою очередь, «зашит» в любую ОС на любом языке.
- UTF-8 позволяет закодировать большее количество символов. На данный момент используется 6 байт из 8-ми, а русские символы кодируются двумя байтами.
Именно поэтому предпочтительней использовать универсальную кодировку, а не узкоспециализированную, которая применяется только в славянских странах.
Таблица кодировки Windows 1251
Для программистов и разработчиков сайтов бывает необходимо знать номера символов. Для этого используются специальные таблицы кодировки. Ниже представлена таблица для Windows 1251.
Что делать, если слетела кодировка командной строки?
Иногда Вы можете столкнуться с ситуацией, когда в командной строке вместо русских отображаются непонятные символы. Это означает, что возникла проблема кодировки командной строки Windows 7. Почему 7-ка? Потому что, начиная с 8-й версии, используется UTF-8, а в семерке еще Windows 1251.
Единовременно помочь решить проблему может команда chcp 866. Текущий сеанс будет работать корректно. А вот чтобы исправить ошибку кардинально, понадобится реестр.
Отличного Вам дня!
Представление символьной информации. Использование кодировочной таблицы ASCII и стандарта кодирования символов Unicode
1. Представление символьной информации
Лекция №11
2. Кодируемые символы
1. Буквенно-цифровые знаки алфавитов.2. Специальные знаки: пробел, скобки, знаки препинания,
знаки операций и т.д.
3. Управляющие символы.
Наиболее распространенные
способы кодирования символов
1. Использование кодировочной таблицы ASCII.
2. Использование стандарта кодирования символов Unicode.
2
3. ASCII
ASCII – American Standard Code for InformationInterchange (американский стандартный код обмена
информацией
Введен в действие институтом стандартизации США (ANSI –
American National Standard Institute) в 1963 году.
Первоначально предполагалось использование 7 бит кода.
3
4. Таблица ASCII
45
6. Кодовая таблица ASCII
Кодовая таблица ASCII состоит из двух частей:• Базовая таблица
• Расширенная таблица
Совокупность символов базовой и
расширенной таблицы определяет
кодировку.
6
7. Базовая таблица
Коды 00h – 7Fh7
8. Расширенная таблица (ASCII)
Коды 80h – FFh8
КОИ-8R
Windows-1251 (CP 1251)
9
10. Пример неправильно выбранной кодировки
Windows-1251 (CP 1251)КОИ-8R
10
11. Управляющие ASCII символы
Некоторые управляющие символы:TAB, 09
— табуляция
LF, 0A
— перевод строки
CR, 0D
— возврат каретки
CR LF
11
12. Псевдографика
Для оформления программ и документов втекстовом режиме, используются
псевдографические символы.
12
13. Псевдографика (ASCII)
http://www.asciimation.co.nz/13
14. Unicode
Unicode – стандарт кодирования символов.Коду символа сопоставляется некоторое положительное
целое число.
Для представления кода в компьютере используются
форматы представления (UTF – Unicode transformation
format): UTF-8, UTF-16, UTF-32
По стандарту Unicode первые 128 символов
соответствуют ASCII.
14
15. Unicode
В первых версиях стандарта код символа представлялсядвухбайтовым словом
16
8
8
2 = 65 536
В настоящее время стандарт Unicode обеспечивает
кодирование 1 112 064 символов.
15
8-битный формат преобразования Unicode
Обеспечивает совместимость с ASCII.
Длина кода нефиксированная – от 1 до 4 байт
16
17. Пример декодирования символа для UTF-8
СимволА
1 1 0 1
UTF-8 (hex)
D090
0 0 0 0
Unicode (hex)
0410
1 0 0 1 0 0 0 0
1 0 0 0 0 0 10 00 0
4
1
0
17
18. Кириллическая таблица Unicode
01
2
3
4
5
6
7
8
9
A
B
C
D
E
F
410
А Б В Г Д Е Ж З И Й К Л М Н О П
420
Р С Т У Ф Х Ц Ч ШЩ Ъ Ы Ь Э Ю Я
430
а б в г д е ж з и й к л м н о п
440
р с т у ф х ц ч ш щ ъ ы ь э ю я
D0 BB D0 B5 D1 81
18
Byte Order Mark – сигнатура, определяющая UTF.
UTF-8
EF BB BF
UTF-16BE
FE FF
UTF-16LE
FF FE
UTF-32BE
00 00 FE FF
UTF-32LE
FF FE 00 00
19
Краткая история кодировок от ASCII до UTF-8 – POPEL Agency
Наверняка все слышали, что информация в компьютерах хранится в виде двоичных чисел — нулей и единиц. Но не все знают, каким образом нолики и единички внутри превращаются в читабельный текст на экране. Всё, конечно же, очень просто: каждому символу соответствует определенная комбинация нулей и единиц — код. Совокупность таких кодов называется кодировкой.
На сегодняшний день самой распространенной кодировкой является UTF-8. Она включает в себя более двух миллионов символов: все возможные современные алфавиты, цифры, знаки препинания, математические и специальные символы, музыкальные знаки и символы вымерших форм письменности. А резерва UTF-8 хватит для размещения более двух миллиардов символов. Так что о смене кодировки в ближайшее время задумываться не придётся.
Однако торжество современных технологий — явление относительно новое. Согласно Google, самой распространенной в интернете кодировкой UTF-8 стала только в 2008 году — тогда ее использовали чуть более чем 25% проиндексированных веб-страниц. А еще в 2006 UTF-8 использовали менее чем 10% веб-страниц.
График изменения популярности кодировок в интернете.Стремительный рост популярности кодировки UTF-8 связан с целым рядом ее преимуществ перед предшественницами. Но чтобы действительно понять и оценить эти преимущества — нужно немного изучить историю вопроса.
ASCII
А начнем мы с возникновения кодировки ASCII, которую в середине двухтысячных и начала вытеснять собой из интернета кодировка UTF-8.
ASCII (англ. American Standard Code for Information Interchange) — американская стандартная кодировочная таблица для печатных символов и некоторых специальных кодов. В американском варианте английского языка произносится [э́ски], тогда как в Великобритании чаще произносится [а́ски]; по-русски произносится также [а́ски] или [аски́].
— Статья об ASCII на Википедии
Кодировка ASCII была разработана в 1963 году Американской Ассоциацией Стандартов (которая позже стала Американским Национальным Институтом Стандартов — ANSI), впоследствии несколько раз обновлялась — в 1967 и 1986 годах. ASCII — 7-битная кодировка, включающая в себя 128 символов: 33 непечатных управляющих символа (влияющих на обработку текста и пробелов) и 95 печатных символов, включая цифры, буквы латинского алфавита в строчном и прописном вариантах и ряд пунктуационных символов.
Таблица кодов символов в ASCII.Расположение символов внутри кодировки упрощало сортировку, смену регистра букв и перевод десятичных чисел в двоичную форму и обратно — словом, постарались авторы на славу. Однако решить абсолютно все задачи эта кодировка не могла. В частности, в ASCII не было букв и символов многих национальных алфавитов.
ISO/IEC 646
По этой причине в 1972 году началась разработка группы кодировок, основанных на ASCII, где редко используемые символы из ASCII заменялись на необходимые. Группа включала в себя варианты кодировки для Канады, Китая, Кубы, Германии, Дании, Финляндии, Франции, Великобритании, Греции, Венгрии, Ирландии, Японии, Южной Кореи, Мальты, Норвегии, Швеции и Югославии.
Стандартизация кодировок группы позволила свести различия между кодировками разных стран к минимуму.
KOI8
Естественно, СССР не остался в стороне, разработав в 1974 году свою кодировку — KOI8 (Код Обмена Информацией, 8 бит). Как следует из названия, это была 8-битная кодировка, что позволяло включить в нее в два раза больше символов. KOI8 включала в себя цифры, буквы латинского и русского алфавита, а также знаки пунктуации, спецсимволы и псевдографику.
Таблица кодов символов в KOI8-R.Эта кодировка существует в нескольких вариантах для разных кириллических алфавитов, в частности: KOI8-R — для русского алфавита, и KOI8-U — для украинского. Кодировки KOI8 стали одними из самых популярных в русском сегменте интернет до распространения UTF-8.
ISO/IEC 8859
Ранние кодировки были ограничены 7 битами из-за особенностей некоторых протоколов передачи данных. Однако со временем эти ограничения свою актуальность потеряли, в то время как необходимость в дополнительных символах для языков, использующих латинский алфавит, только росла. Поэтому в середине 80-х началась работа над группой 8-битных кодировок, получившей название ISO/IEC 8859. Все кодировки этой группы были основаны на ASCII. Помимо расширения диапазона доступных символов за счет восьмого бита, на печатные символы была заменена часть устаревших к тому моменту непечатных управляющих символов.
Здесь стоит отметить две кодировки из группы. Первая — ISO-8859-1 — была опубликована в 1987 году. Она включала в себя так называемый «Латинский алфавит номер 1» (сокращенно Latin-1), состоящий из 191 символа латинского письма. Этот набор символов используется по всей Северной и Южной Америке, в Западной Европе, Океании и на большей части Африки. Кодировка ISO-8859-1 стала основой для наиболее популярных 8-битных кодировок.
В 1988 году была опубликована ISO-8859-5. Она была создана для работы с кириллическими языками. Включенные в эту кодировку символы обеспечивали полную поддержку русского, белорусского, болгарского, сербского и македонского языков. А вот для полной поддержки украинского языка ей не хватало буквы «ґ». Особого распространения эта кодировка не получила, но интересен сам факт разработки кириллической кодировки в рамках группы кодировок ISO/IEC.
Windows-125x
В начале 90-х годов компания Microsoft разработала группу кодировок для ОС Windows. Среди прочих хочется отметить две кодировки: Windows-1251 и Windows-1252.
Windows-1251 была разработана на базе «самодельных» кодировок для русификаторов Windows при участии российской компании-разработчика ПО «ПараГраф» и СП «Диалог» — совместного советско-американского предприятия в области вычислительной техники. В эту кодировку вошли все символы русского и близких к нему языков: украинского, белорусского, болгарского, сербского и македонского. На практике этого оказалось достаточно, чтобы кодировка Windows-1251 закрепилась в интернете вплоть до распространения UTF-8.
Таблица кодов символов в Windows-1251.Windows-1252 была разработана на основе кодировки ISO-8859-1 путем замены ряда непечатных контрольных символов на печатные (в частности, символ евро, ряд пунктуационных и несколько других символов). Сходство этих двух кодировок часто приводило к неверному отображению текста, когда вместо новых символов из Windows-1252 отображались знаки вопроса. Эта ситуация была настолько частой, что многие почтовые клиенты для отображения писем кодировки ISO-8859-1 стали использовать Windows-1252. В конечном итоге такое поведение было внесено в спецификацию HTML 5 в качестве требования.
Переходный период
Начиная с середины 90-х в кириллическом сегменте интернета можно было регулярно наблюдать проблемы с кодировками. Виной тому было сразу несколько факторов. Во-первых, инструменты разработки и браузеры того времени не умели грамотно работать с кодировками. Во-вторых, во всех наиболее распространенных кириллических кодировках коды кириллических символов были разными. В англоязычном сегменте сети последней проблемы не было, ведь во всех основных кодировках, начиная с ASCII, символы латиницы имели одинаковые коды символов.
Интересно, что в KOI8-R русский алфавит был расположен не в алфавитном порядке: позиции символов русского алфавита соответствовали их фонетическим аналогам в английском алфавите. Таким образом, при интерпретации кодировки текста как 7-битной, русский текст превращался в некое подобие транслита. Например, слова «Русский Текст» превратились бы в «rUSSKIJ tEKST».
Совокупность этих факторов привела к появлению на большинстве сайтов страниц с выбором кодировки. Несмотря на то, что кодировка UTF-8 существовала с 1993 года, переходить на нее не спешили, ведь каждый кириллический символ, кодированный с помощью UTF-8, занимал 2 байта, что приводило к двукратному увеличению объема данных, необходимых для хранения и передачи кириллического текста. Во времена модемной связи и относительно малых объемов устройств хранения информации это была непозволительная роскошь.
UTF-8
Впервые кодировка UTF-8 была официально представлена на конференции USENIX в Сан Диего в январе 1993. От других мультибайтных кодировок ее отличала полная совместимость с ASCII: все символы ASCII в UTF-8 кодируются 7 битами. Каждый символ кодировки, отличный от ASCII, состоит из ведущего байта, указывающего длину последовательности, и одного или нескольких продолжающих байт. Такой принцип позволяет определить длину последовательности только по первому байту. Коды символов ASCII, ведущих и продолжающих байт не пересекаются, что позволяет легко найти начало последовательности простым откатом назад максимум на пять байт.
В ноябре 2003 года стандартом RFC-3629 максимальная длина последовательности UTF-8 была ограничена четырьмя байтами, однако потенциально UTF-8 позволяет использовать последовательности вплоть до шести байт.
Принцип кодирования
У всех однобайтных символов старший бит кода установлен в 0
и полностью совпадает с кодом символа в ASCII:
У всех многобайтных последовательностей ведущий байт начинается с двух и более единиц в старших битах. Количество единиц ведущего байта соответствует длине мультибайтной последовательности. Все продолжающие байты начинаются с 10
в двух старших битах. Все неиспользуемые схемой кодирования биты мультибайтных последовательностей используются для кодирования символов:
Такой подход создает несколько символьных диапазонов разной величины. Первый диапазон использует 7 бит и кодирует до 128 символов. Второй диапазон использует 11 бит и кодирует до 2 048 символов. Третий и четвертый диапазоны используют 16 бит и 21 бит соответственно и позволяют кодировать до 65 536 и 2 097 152 соответственно. В сумме все четыре диапазона значений позволяют кодировать до 2 164 864 символов.
Кодировка UTF-8 является универсальной и имеет внушительный резерв на будущее. Это делает ее наиболее удобной кодировкой для использования в интернете.
Кодирование символов. Байт.
<<Назад | Содержание | Далее>>
На основании одной ячейки информационной ёмкостью 1 бит можно закодировать только 2 различных состояния. Для того чтобы каждый символ, который можно ввести с клавиатуры в латинском регистре, получил свой уникальный двоичный код, требуется 7 бит. На основании последовательности из 7 бит, в соответствии с формулой Хартли, может быть получено N=27=128 различных комбинаций из нулей и единиц, т.е. двоичных кодов. Поставив в соответствие каждому символу его двоичный код, мы получим кодировочную таблицу. Человек оперирует символами, компьютер – их двоичными кодами.
Для латинской раскладки клавиатуры такая кодировочная таблица одна на весь мир, поэтому текст, набранный с использованием латинской раскладки, будет адекватно отображен на любом компьютере. Эта таблица носит название ASCII (American Standard Code of Information Interchange) по-английски произносится [э́ски], по-русски произносится [а́ски]. Ниже приводится вся таблица ASCII, коды в которой указаны в десятичном виде. По ней можно определить, что когда вы вводите с клавиатуры, скажем, символ “*”, компьютер его воспринимает как код 42(10), в свою очередь 42(10)=101010(2) – это и есть двоичный код символа “*”. Коды с 0 по 31 в этой таблице не задействованы.
Таблица 8.
Таблица символов ASCII
код |
символ |
код |
символ |
код |
символ |
код |
символ |
код |
символ |
код |
символ |
32 |
Пробел |
48 |
. |
64 |
@ |
80 |
P |
96 |
‘ |
112 |
p |
33 |
! |
49 |
0 |
65 |
A |
81 |
Q |
97 |
a |
113 |
q |
34 |
« |
50 |
1 |
66 |
B |
82 |
R |
98 |
b |
114 |
r |
35 |
# |
51 |
2 |
67 |
C |
83 |
S |
99 |
c |
115 |
s |
36 |
$ |
52 |
3 |
68 |
D |
84 |
T |
100 |
d |
116 |
t |
37 |
% |
53 |
4 |
69 |
E |
85 |
U |
101 |
e |
117 |
u |
38 |
& |
54 |
5 |
70 |
F |
86 |
V |
102 |
f |
118 |
v |
39 |
‘ |
55 |
6 |
71 |
G |
87 |
W |
103 |
g |
119 |
w |
40 |
( |
56 |
7 |
72 |
H |
88 |
X |
104 |
h |
120 |
x |
41 |
) |
57 |
8 |
73 |
I |
89 |
Y |
105 |
i |
121 |
y |
42 |
* |
58 |
9 |
74 |
J |
90 |
Z |
106 |
j |
122 |
z |
43 |
+ |
59 |
: |
75 |
K |
91 |
[ |
107 |
k |
123 |
{ |
44 |
, |
60 |
; |
76 |
L |
92 |
\ |
108 |
l |
124 |
| |
45 |
— |
61 |
< |
77 |
M |
93 |
] |
109 |
m |
125 |
} |
46 |
. |
110 |
n |
126 |
~ |
||||||
47 |
/ |
63 |
? |
79 |
O |
95 |
_ |
111 |
o |
127 |
DEL |
Чтобы хранить также и коды национальных символов каждой страны (в нашем случае – символов кириллицы) требуется добавить еще 1 бит, что увеличит количество уникальных комбинаций из нулей и единиц вдвое, т.е. в нашем распоряжении дополнительно появится 128 свободных кодов (со 128-го по 255-й), в соответствие которым можно поставить символы русского алфавита.
Таким образом, отведя под хранение информации о коде каждого символа 8 бит, мы получим N=28=256 уникальных двоичных кодов, что достаточно, чтобы закодировать все символы, которые можно ввести с клавиатуры.
Так мы подошли к необходимости познакомиться с еще одной базовой единицей измерения – байтом.
Байт — последовательность из 8 бит.
1 байт = 23 бит = 8 бит.
На основании одного байта можно получить 28=256 уникальных двоичных кодов.
В современных кодировочных таблицах под хранение информации о коде каждого символа отводится 1 байт.
1 символ = 1 байт.
В байтах измеряется объем данных (V) при их хранении и передаче по каналам связи. Например, текст “Добрый день!” занимает объем равный 12 байтам.
Биты в байте нумеруются с конца с 0-го по 7-й. Минимальная комбинация на основании одного байта – восемь нулей, максимальная – восемь единиц. Рис. 18а.
11111111(2)=27+26+25+24+23+22+21+20=128+64+32+16+8+4+2+1=255(10)
При хранении на физическом уровне каждый байт может быть реализован, например, на базе восьми конденсаторов, каждый из которых либо разряжен (0), либо заряжен (1). Рис. 18b.
|
|
Рис. 18а. Байт: минимальная и максимальная комбинации |
Рис. 18b. Байт: соответствие двоичного числа и электрического импульса. |
Возвращаясь к кодировочным таблицам, заметим, что на сегодняшний день в использовании не одна, а несколько кодировочных таблиц, включающих коды кириллицы, – это стандарты, выработанные в разные годы и различными учреждениями. В этих таблицах различен порядок, в котором расположены друг за другом символы кирилличного алфавита, поэтому одному и тому же коду соответствуют разные символы. По этой причине, мы иногда сталкиваемся с текстами, которые состоят из русских букв, но в бессмысленной для нас последовательности.
Например, текст “Компьютерные вирусы”,
введенный в кодировке Windows-1251 в кодировке КОИ-8
будет отображен так: ”лПНРШАФЕТОШЕ ЧЙТХУЩ”.
Таблица 9.
Несоответствие кодов символов в различных кодировках кириллицы.
Код |
Windows-1251 |
КОИ-8 |
ISO |
Под национальные кодировки отданы коды с 128-го по 255-й.
|
192 |
А |
ю |
Р |
|
193 |
Б |
а |
С |
|
194 |
В |
б |
Т |
Эта проблема разрешима — на каждом компьютере найдутся все основные кодировочные таблицы, и если тест выглядит неадекватно, нужно попробовать перекодировать его, просто указав использовать другую кодировочную таблицу. Но наличие такой проблемы, конечно, вносит неудобства.
Используя 8-битную кодировочную таблицу мы не сможем адекватно увидеть на мониторе и тексты, созданные на тех языках, где используются символы, отличные от латинских и кирилличных, например символы с умляутами в немецком языке.
<<Назад | Содержание | Далее>>
В идеальном мире единственная кодировка символов (или, грубо говоря, «набор символов»), что вы бы когда-нибудь увидели UTF-8 (utf-8) и Latin-1 (iso-8859-1) для всех этих устаревших документов. Однако указанные ниже кодировки существуют и их можно найти на Интернет. Они перечислены ниже в порядке их английских имен с левая сторона — это значение, которое вы получите из $ response-> content_charset. Полный список наборов символов можно найти на http://www.iana.org/assignments/character-sets.
Значение | Кодировка |
---|---|
us-ascii | Обычный ASCII (только символы 0x00-0x7F) |
asmo-708 | Арабский ASMO-708 |
iso-8859-6 | Арабский ISO |
дос-720 | Арабский MSDOS |
окна-1256 | Арабский MSWindows |
iso-8859-4 | Балтика ISO |
окна-1257 | Балтийский MSWindows |
iso-8859-2 | Центральноевропейский ISO |
ibm852 | Среднеевропейский MSDOS |
окна-1250 | Среднеевропейский MSWindows |
Гц-ГБ-2312 | Китайский упрощенный (HZ) |
ГБ 2312 | Китайский упрощенный (GB2312) |
Евк-CN | Китайский упрощенный EUC |
большой5 | Китайский традиционный (Big5) |
CP866 | Кириллица DOS |
iso-8859-5 | Кириллица ISO |
кои8-р | Кириллица KOI8-R |
кои8-у | Кириллица КОИ8-У |
окна-1251 | Кириллица MSWindows |
iso-8859-7 | Греческий ISO |
окна-1253 | Греческий MSWindows |
iso-8859-8-i | Еврейский ISO Logical |
iso-8859-8 | Иврит ISO Visual |
дос-862 | Еврейский MSDOS |
окна-1255 | Еврейский MSWindows |
euc-jp | Японский EUC-JP |
iso-2022-jp | Японский JIS |
shift_jis | Японский Shift-JIS |
iso-2022-kr | Корейский ISO |
евро | кронКорейский стандарт |
окна-874 | Тайский MSWindows |
iso-8859-9 | Турецкий ISO |
окна-1254 | Турецкий MSWindows |
utf-8 | Unicode, выраженный как UTF-8 |
utf-16 | Unicode, выраженный как UTF-16 |
окна-1258 | Вьетнамский MSWindows |
вязкость | Вьетнамский VISCII |
iso-8859-1 | Западноевропейская (Latin-1) |
окна-1252 | Западноевропейская (Latin-1) с дополнительными символами в 0x80-0x9F |
От пустоты до машинного обучения
11.6.2. Str против байтов
Это было большое изменение в Python 3
В Python 2 str было байтами
В Python 3 строка является Unicode (UTF-8)
>>> text = 'Księżyc' >>> текст 'Księżyc'
>>> text = b'Księżyc ' Отслеживание (последний вызов последний): SyntaxError: байты могут содержать только буквальные символы ASCII.
Кодировка по умолчанию — UTF-8
. Имена кодировок нечувствительны к регистру. cp1250
и windows-1250
— псевдонимы одного и того же кодека:
>>> text = 'Księżyc' >>> >>> text.encode () b'Ksi \ xc4 \ x99 \ xc5 \ xbcyc ' >>> text.encode ('utf-8') b'Ksi \ xc4 \ x99 \ xc5 \ xbcyc ' >>> text.encode ('iso-8859-2') b'Ksi \ xea \ xbfyc ' >>> text.encode ('cp1250') b'Ksi \ xea \ xbfyc ' >>> text.encode ('windows-1250') b'Ksi \ xea \ xbfyc '
Обратите внимание на изменение длины при кодировании:
>>> text = 'Księżyc' >>> текст 'Księżyc' >>> len (текст) 7
>>> text = 'Księżyc'.кодировать () >>> текст b'Ksi \ xc4 \ x99 \ xc5 \ xbcyc ' >>> len (текст) 9
Также обратите внимание, что эти символы производят более длинный вывод:
>>> 'ó'.encode () б '\ xc3 \ xb3'
Но, несмотря на то, что он состоит из нескольких «символов», длина разная:
Вот вывод всех польских диакритических знаков (диакритических знаков) с их кодировкой:
>>> 'ą'.encode () б '\ xc4 \ x85' >>> 'ć'.encode () б '\ xc4 \ x87' >>> 'ę'.encode () б '\ xc4 \ x99' >>> 'ł'.кодировать () б '\ xc5 \ x82' >>> 'ń'.encode () б '\ xc5 \ x84' >>> 'ó'.encode () б '\ xc3 \ xb3' >>> 'ś'.encode () б '\ xc5 \ x9b' >>> 'ż'.encode () б '\ xc5 \ xbc' >>> 'ź'.encode () б '\ xc5 \ xba'
Обратите внимание на другой способ перебора байтов
:
>>> text = 'Księżyc' >>> >>> для символа в тексте: ... печать (символ) K s я ę ż у c >>> >>> для символа в text.encode (): ... печать (символ) 75 115 105 196 153 197 188 121 99Модуль
Charset — LocalSolver 8.5 документация
Модуль charset содержит список всех схем кодирования, поддерживаемых LocalSolver и методы, необходимые для запроса этого списка.
Кодировка сама по себе бесполезна, но может использоваться вместе с модулем ввода / вывода для чтения или записывать файлы с соответствующей кодировкой.
Полный список поддерживаемых кодировок
В следующей таблице перечислены все кодировки, поддерживаемые разработчиком моделей LocalSolver с их общими псевдонимами и языками, для которых обычно используется кодирование.
Кодовое имя | Псевдонимы | языков |
---|---|---|
ascii | us-ascii | Английский |
cp437 | pc-8, ibm437 | Английский |
CP 1250 | окна-1250 | Центральная и Восточная Европа |
cp1251 | окна-1251 | Болгарский, сербский и македонский |
cp1252 | окна-1252 | Западная Европа |
cp1253 | окна-1253 | Современный греческий |
cp1254 | окна-1254 | Турецкий |
cp1255 | окна-1255 | Еврейский |
cp1256 | окна-1256 | Арабский |
cp1257 | окна-1257 | на эстонском, латышском и литовском языках |
cp1258 | окна-1258 | Вьетнамский |
iso-8859-1 | латиница, latin1 | Западная Европа |
iso-8859-2 | латинские 2 | Центральная и Восточная Европа |
iso-8859-3 | латинские 3 | Эсперанто, мальтийский, турецкий |
iso-8859-4 | латинские 4 | эстонский, латышский, литовский, саамский |
iso-8859-5 | кириллица | Болгарский, Сербский, Русский |
iso-8859-6 | арабский | Арабский |
iso-8859-7 | греческий | Греческий |
iso-8859-8 | еврейский | Еврейский |
iso-8859-9 | латинские 5 | Турецкий |
iso-8859-10 | латинские 6 | Скандинавские языки |
iso-8859-11 | тайский | Тайский |
iso-8859-13 | латинские 7 | Балтийские языки |
iso-8859-14 | латинские 8 | Кельтские языки |
iso-8859-15 | латинские 9 | Западная Европа |
iso-8859-16 | латинские 10 | Юго-Восточная Европа |
utf-8 | Все языки | |
utf-16 | Все языки | |
utf-16be | Все языки | |
utf-16le | Все языки | |
utf-32be | Все языки | |
utf-32le | Все языки |
Примечание
Чтобы использовать возможности этого модуля, вы должны поставить
специальный оператор импорта в начале вашего файла LSP: использовать кодировку;
Константы
Этот модуль по умолчанию инстанцирует 2 кодировки: utf-8 и iso-8859-1.Вы можете использовать
их напрямую через эти встроенные переменные без использования charset.lookup ()
метод.
- Кодировка
.
ISO_8859_1
Кодировка Latin-1. Эта кодировка наиболее широко используется в Западной Европе. Это также кодировка по умолчанию для LocalSolver.
- Кодировка
.
UTF_8
Кодировка UTF-8. Эта кодировка должна быть по умолчанию для вашего нового проекты с LocalSolver.Парсер LocalSolver будет использовать его автоматически, если в начале обнаружена метка порядка байтов (BOM) ваших файлов.
Функции
- Кодировка
.
по умолчанию
() Возвращает кодировку по умолчанию, используемую LocalSolver. Для текущей версии LocalSolver этот метод возвращает кодировку
.ISO_8859_1
.
- Кодировка
.
поиск
( имя ) Возвращает кодировку, соответствующую данному имени.Если кодировки не существует с заданным именем выдается исключение. Вы можете использовать имя кодировка или один из ее псевдонимов. Поиск не чувствителен к регистру.
Поддерживаемая кодировка символов
Следующие действия включают свойство Кодировка :
Чтобы настроить это свойство для вышеуказанных действий, используйте значение из поля «Имя» в таблице ниже, которое соответствует типу кодировки символов, который вы хотите использовать.
Кодовая страница | Имя | Отображаемое имя | ||||
---|---|---|---|---|---|---|
37 | IBM037 | IBM EBCDIC4 | ||||
IBM437 | OEM США | |||||
500 | IBM500 | IBM EBCDIC (международный) | ||||
708 | ||||||
708 | 708 | Арабский (ASMO 708) | ||||
720 | DOS-720 | Арабский (DOS) | ||||
737 | ibm737 | ibm737 | ||||
775 | ibm775 | Балтийский (DOS) 90 003 | ||||
852 | ibm852 | Центральноевропейская (DOS) | ||||
855 | IBM855 | OEM 852 | ||||
ibm857 | Турецкий (DOS) | |||||
858 | IBM00858 | OEM Многоязычный Latin I | ||||
860 | IBM | |||||
861 | ibm861 | Исландский (DOS) | ||||
862 | DOS-862 862 | 004 Еврейский (DOS)6903 | IBM863 | Французский канадский (DOS) 9 0021 | ||
864 | IBM864 | Арабский (864) | ||||
865 | IBM865 | Скандинавский (DOS) | cp866Кириллица (DOS) | |||
869 | ibm869 | Греческий, современный (DOS) | ||||
870 | IBM EB9002 IBM Многоязычный Latin-2) | |||||
874 | windows-874 | Тайский (Windows) | ||||
875 | cp875 | IBM EB | ||||
932 | shift_jis | Японский (Shift-JI S) | ||||
936 | gb2312 | Китайский упрощенный (GB2312) | ||||
949 | ks_c_5601-1987 | |||||
big5 | Китайский традиционный (Big5) | |||||
1026 | IBM1026 | IBM EBCDIC (турецкий Latin-5) | ||||
10470 | IBM Latin-1 | |||||
1140 | IBM01140 | IBM EBCDIC (США-Канада-евро) | ||||
1141 | IBM01141 IBM01141 (Германия — евро) | |||||
1142 | IBM01142 | IBM EBCDIC (Дания-Норвегия-евро) | ||||
1143 | IBM01143 | IBM EBCDIC (Финляндия-Швеция-евро) | ||||
1144 | IBMIBM EBCDIC (Италия, евро) | |||||
1145 | IBM01145 | IBM EBCDIC (Испания, евро) | ||||
1146 | 46||||||
1147 | IBM01147 | IBM EBCDIC (Франция-евро) | ||||
1148 | IBM01148 | -Евро)|||||
1149 | IBM01149 | IBM EBCDIC (Icela ndic-Euro) | ||||
1200 | utf-16 | Unicode | ||||
1201 | unicodeFFFE | 607 с прямым порядком байтов. 1250 | windows-1250 | Центральноевропейская (Windows) | ||
1251 | windows-1251 | Кириллица (Windows) | ||||
1252 Windows-1252 | Западноевропейский (Windows) | |||||
1253 | windows-1253 | Греческий (Windows) | ||||
1254 | окна | Турецкий (Windows) | ||||
1255 | 90 004 windows-1255 | Иврит (Windows) | ||||
1256 | windows-1256 | арабский (Windows) | ||||
1257 | windows- | Балтийский (Windows) | ||||
1258 | windows-1258 | Вьетнамский (Windows) | ||||
1361 | Johab | Johab | Johab||||
10000 | macintosh | Западноевропейский (Mac) | ||||
10001 | x-mac-японский | Японский (Mac) | x-mac-chinesetrad | Традиционный китайский (Mac) | ||
10003 | x-mac-корейский | Корейский (Mac) | ||||
10004 | x-mac-арабский | Арабский (Mac16) | 10005 | x-mac-hebrew | Иврит (Mac) | |
10006 | x-mac-greek | Греческий (Mac) | x-mac-cyrillic | Кириллица (Mac) | ||
10008 | x-mac-chinesesimp | Китайский упрощенный (Mac16 | ) | x-mac-румынский | Румынский (Mac) | |
10017 | x-mac-украинский | Украинский (Mac) | ||||
10021 | x-mac-thai | Тайский (Mac) | ||||
10029 | x-mac-ce | Центральноевропейский (Mac) | ||||
10079 | x-mac-исландский | Исландский (Mac) | ||||
10081 | x-mac-turkish 18 | (Mac)|||||
10082 | x-mac-croatian | Хорватский (Mac) | ||||
12000 | utf-32 | Unicode ) | ||||
12001 | utf-32BE | Unicode (UTF-32 Big endian) | ||||
20000 900 21 | x-Chinese-CNS | Китайский традиционный (CNS) | ||||
20001 | x-cp20001 | TCA Тайвань | ||||
14 20002 0 Китайский-Eten | Китайский традиционный (Eten) | |||||
20003 | x-cp20003 | IBM5550 Тайвань | ||||
9000- 20004 | 14 x | TeleText Тайвань | ||||
20005 | x-cp20005 | Wang Тайвань | ||||
20105 | x-IA5 | 6 Западноевропейский 20106 | x-IA5-German | German (IA5) | 9001 6||
20107 | x-IA5-шведский | шведский (IA5) | ||||
20108 | x-IA5-норвежский | Норвежский (IA516) | 20127 | us-ascii | US-ASCII | |
20261 | x-cp20261 | T.61 | ||||
20269 | x-cp20269 | ISO-6937 | ||||
20273 | IBM273 | 6 IBM 273 | IBM EBIC3 | IBM277 | IBM EBCDIC (Дания-Норвегия) | |
20278 | IBM278 | IBM EBCDIC (Финляндия-Швеция) | IBM280 | IBM EBCDIC (Италия) | ||
20284 | IBM284 | IBM EBCDIC (Испания) | ||||
20285 | 004 IBM EBCDIC (IBM | 004 IBM) Великобритания) | ||||
20290 | IBM290 | 900 18|||||
20297 | IBM297 | IBM EBCDIC (Франция) | ||||
20420 | IBM EBCDIC 9000 | IBM EBCDIC | ||||
20423 | IBM423 | IBM EBCDIC (греческий) | ||||
20424 | IBM424 | IBM EBCDIC 0007 | ||||
x-EBCDIC-KoreanExtended | IBM EBCDIC (Korean Extended) | |||||
20838 | IBM-Thai | IBM EBCDIC (тайский) | koi8-r | Кириллица (KOI8-R) | ||
20871 | IBM871 | IBM EBCDIC (исландский) | ||||
20880 | IBM880 | IBM EBCDIC (русская кириллица) | IBM EBCDIC (турецкий) | |||
20924 | IBM00924 | IBM Latin-1 | ||||
20932 | EUC-J18 04 900 -1990 и 0212-1990) | |||||
20936 | x-cp20936 | Китайский упрощенный (GB2312-80) | ||||
20949 | 4918 9 -999 Корейский Wansung | |||||
21025 | cp1025 | 900 04 IBM EBCDIC (кириллица сербско-болгарская) | ||||
21866 | koi8-u | Кириллица (KOI8-U) | ||||
28591 | oЗападноевропейский (ISO) | |||||
28592 | iso-8859-2 | Центральноевропейский (ISO) | ||||
28593 | 004 iso-8859-3 | Latin 3 (ISO) | ||||
28594 | iso-8859-4 | Baltic (ISO) | ||||
28595 | iso-882159-5 iso-882159-5 | Кириллица (ISO) | ||||
28596 | iso-8859-6 | Арабский (ISO) | ||||
28597 9002 1 | iso-8859-7 | Греческий (ISO) | ||||
28598 | iso-8859-8 | Иврит (ISO-Visual) | ||||
285994 | iso-8859-9 | Турецкий (ISO) | ||||
28603 | iso-8859-13 | Эстонский (ISO) | ||||
2821605 0iso-8859-15 | Latin 9 (ISO) | |||||
29001 | x-Europa | Europa | ||||
38598 | is -i | Иврит (ISO-Logical) | ||||
50220 | iso-2022-jp | Японский (JIS) | ||||
50221 | csISO2022JP | Японский (JIS-Allow 1 байт Кана) | ||||
50222 | iso-2022-jp | 9000 SOte Kana — Разрешить 1 SI) | ||||
50225 | iso-2022-kr | Корейский (ISO) | ||||
50227 | x-cp50227 | китайский упрощенный ) | ||||
51932 | euc-jp | Японский (EUC) | ||||
51936 | EUC-CN | 14 Китайский упрощенный (EU 0314 Китайский упрощенный | 51949 | euc-kr | Корейский (EUC) | |
52936 | hz-gb-2312 | Упрощенный китайский (HZ) | ||||
54936 | GB18030 | Упрощенный китайский (GB18030) | ||||
57002 0 | 9000ariC De 9-is | |||||
57003 | x-iscii-be | ISCII бенгальский | ||||
57004 | x-iscii-ta | ISCII | ISCII | ISCII 0 57005 | x-iscii-te | ISCII телугу |
57006 | x-iscii-as | ISCII00 x-iscii-te | 0003 | ISCII Ория | ||
57008 | x-iscii-ka | ISCII каннада | ||||
57009 | x-iscii-ma | ISCII малаялам | ||||
ISCII Гуджарати | ||||||
57011 | x-iscii-pa | ISCII панджаби | ||||
65000 | 65000 | 7) | ||||
65001 | utf-8 | Unicode (UTF-8) |
Значения кодировки | Программируемая поисковая система | Разработчики Google
На этой странице перечислены типы кодирования, которые можно использовать для окна поиска и страницы результатов. Кодировка сообщает компьютерам, как хранить и передавать текст по сети.
UTF-8, который является типом кодировки по умолчанию, лучше всего работает в подавляющем большинстве случаев. Фактически, многие проблемы с текстом на странице результатов можно решить, сохранив значение UTF-8
. Единственный раз, когда вам нужно изменить значение кодировки для страницы результатов и окна поиска, — это когда веб-страница хостинга не в UTF-8. Кодировка для программируемой поисковой системы должна соответствовать кодировке вашей веб-страницы.
Вы можете определить кодировку либо на панели управления, либо в файле контекста. На вкладке Основы панели управления вы выбираете язык из раскрывающегося списка Кодировка поисковой системы . В файле контекста вы определяете значение атрибута encoding
элемента CustomSearchEngine
, как в следующем примере:
В следующей таблице перечислены значения, которые можно использовать с атрибутом encoding
.
Примечание: Если вы не укажете тип кодировки, программируемая поисковая система будет использовать UTF-8
в качестве значения по умолчанию.
Тип кодирования | Значение |
---|---|
Юникод (UTF-8) | UTF-8 |
Арабский (Windows-1256) | окна-1256 |
Центральноевропейская Latin-2 (ISO-8859-2) | ISO-8859-2 |
Центральноевропейская (Windows-1250) | окна-1250 |
Центральноевропейская (CP852) | cp852 |
Китайский упрощенный (GB2312) | ГБ 2312 |
Китайский упрощенный (GB18030) | ГБ18030 |
Китайский традиционный (Big5) | большой5 |
Кириллица (ISO-8859-5) | ISO-8859-5 |
Кириллица (KOI8-R) | КОИ8-Р |
Кириллица (Windows-1251) | окна-1251 |
Кириллица / Русский (CP-866) | СП-866 |
Греческий (ISO-8859-7) | ISO-8859-7 |
Еврейский (ISO-8859-8-I) | ISO-8859-8-I |
Еврейский (Windows-1255) | окна-1255 |
Японский (Shift_JIS) | Shift_JIS |
японский (EUC-JP) | EUC-JP |
Японский (ISO-2022-JP) | ISO-2022-JP |
корейский (EUC-KR) | EUC-KR |
Скандинавская Latin-6 (ISO-8859-10) | ISO-8859-10 |
Южноевропейская Latin-3 (ISO-8859-3) | ISO-8859-3 |
Турецкая Latin-5 (ISO-8859-9) | ISO-8859-9 |
Турецкий (Windows-1254) | окна-1254 |
Вьетнамский (Windows-1258) | окна-1258 |
Западноевропейская Latin-1 (ISO-8859-1) | ISO-8859-1 |
Западноевропейская Latin-9 (ISO-8859-15) | ISO-8859-15 |
Наверх
Codepage & Co.
Codepage & Co. В начале 1980-х годов еще не существовало согласованных международных стандартов. например, ISO-8859 или Unicode о том, как расширить US-ASCII для международных пользователей, и многие производители придумали собственные кодировки с использованием трудно запоминающихся числа:Кодовые страницы MS-DOS
CP437 (DOSLatinUS)
Стандартный отраслевой стандарт IBM Персональный компьютер начинался со знаменитой кодовой страницы CP437 с множество символов, нарисованных рамками, и несколько избранных иностранных букв:
кодировка = cp437
[ТЕКСТ]
[BDF]
CP850 (DOSLatin1)
Некоторые более поздние версии MS-DOS позволяли изменять кодовые страницы на Видеокарты VGA для чего-то вроде CP850, который представил репертуар Latin1 в позициях совместим с CP437, так что рисование линий все еще работал:
кодировка = cp850
[ТЕКСТ]
[BDF]
CP852 (DOSLatin2)
CP852 сделал то же самое для Latin2 (Восточная Европа):
кодировка = cp852
[ТЕКСТ]
[BDF]
CP855 (DOSCyrillic)
CP855 была представлена как соответствующая кодовая страница кириллицы:
кодировка = cp855
[ТЕКСТ]
[BDF]
CP866 (DOSCyrillicRussian)
За CP855 вскоре последовал CP866, который последовал более логичный порядок русского алфавита альтернативный вариант, который отдали предпочтение многим российским пользователям:
кодировка = cp866
[ТЕКСТ]
[BDF]
Еще более широко используемая кодировка кириллицы (KOI8-R) позже получила номер CP878.
CP874 (DOSThai)
Тайский CP874 от Microsoft также следует установленным стандартам, а именно ТИС-620, но добавляет нестандартные символы в неиспользуемых позициях:
кодировка = cp874
[ТЕКСТ]
[BDF]
CP737..CP862
Теперь я избавил вас от кровавых подробностей из
- CP737
- DOS Греческий
- CP775
- DOSBaltRim
- CP857
- DOST Турецкий
- CP860
- DOS Португальский
- CP861
- DOS Исландский
- CP862
- DOS Иврит
- CP863
- DOSCanadaF
- CP864
- DOS Арабский
- CP865
- DOS Nordic
- CP869
- DOSGreek2
Кодовые страницы MS-Windows
CP1252 (WinLatin1)
С появлением Windows Microsoft решилась попрощаться с символы рисования линий и совместимость с CP437 и принял модифицированный расширенный набор ISO-8859-1 как CP1252:
кодировка = Windows-1252
[ТЕКСТ]
[BDF]
CP1250 (WinLatin2)
Как ни странно, WinLatin2 получил номер CP1250 и в некоторых позициях отличается от ISO-8859-2, но принесла Microsoft большой доход на развивающихся рынках Восточная Европа в 1990-е годы:
кодировка = Windows-1250
[ТЕКСТ]
[BDF]
CP1251 (WinCyrillic)
Еще один такой пример — кириллица кодовая страница CP1251, для которой Microsoft зарегистрировала метку «Windows-1251».По состоянию на декабрь 1997, даже новый веб-сервер ГОСТ (Lotus Notes) приветствует вас с кодировкой = WINDOWS-1251. ГОСТ (Российская стандартизация органа и органа-члена ISO) не даже следуя собственному стандартов больше нет!
CP1251 имеет богатый репертуар в порядке, несовместимом с обоими ISO-IR-111 (KOI8) и ISO-8859-5:
кодировка = Windows-1251
[ТЕКСТ]
[BDF]
CP1257 (WinBaltic)
Это WinBaltic, который мог служить моделью для ISOLatin7:
кодировка = Windows-1257
[ТЕКСТ]
[BDF]
CP1253…CP1258
Вы понимаете, другие кодовые страницы Windows:- 1253
- WinGreek отличается от ISO-8859-7 размещением заглавной альфы с тонами и только несколько символов.
- 1254
- WinTurkish делает с WinLatin1 то, что ISO-8859-9 соответствует ISO-8859-1.
- 1255
- WinHebrew по буквам совместим с ISO-8859-8.
- 1256
- WinArabic сохраняет символы и строчные французские буквы из WinLatin1 и вставляет арабские буквы в свободных слотах так, чтобы только позиции = C1.. = D6 (первая половина арабский алфавит) совместимы с ISO-8859-6.
- 1257
- WinBaltic поддерживает буквенную совместимость с ISOLatin7.
- 1258
- WinVietnamese похож на WinLatin1 и сильно отличается от VISCII.
Кодовые страницы CJK
В отличие от кодировок Extended Unix Coding EUC, все следующие восточноазиатских кодовых страниц незаконно повторно используют C1 управляющие коды {= 80 .. = 9F} для их ведущих байтов и значений ASCII {= 40.. = 7E} для своих вторых байтов, чтобы закодировать более десяти тысяча символов с двумя байтами. Это означает, что значения ASCII Beyond = 3F в своих байтовых потоках не всегда означает символы ASCII.
- CP932
- Shift-JIS сочетает в себе Японские символы JIS X 0201 (один байт на символ) и JIS X 0208 (два байта на символ), чтобы JIS X 0201 Hiragana оставался однобайтовые символы половинной ширины и 60 свободных 8-битных позиций кода которые не содержат хираганы, используются как ведущие байты для кандзи 7076 и 648 других полноширинных символов.В отличие от EUC-JP, Shift-JIS не имеет осталось место для дополнительных 5802 кандзи из JIS X 0212.
- CP936
- GBK расширяет EUC-CN (8-битный кодирование GB 2312-80 с помощью 6763 hanzi) для упрощенного zh_CN Материк Китайский для охвата всех 20902 иероглифов Хань, найденных в Юникод (GB 13000.1-93).
- CP949
- UnifiedHangul (UHC) — это расширенный набор Korean EUC-KR (8-битная кодировка KS C 5601-1992 с его 2350 слогов хангыль и 4888 ханджа) с 8822 дополнительными предварительно составленные слоги хангыль в диапазоне C1.
- CP950
- Big5 (13072 традиционный zh_TW Китайский ханзи) для тайваньского вместо EUC-TW (CNS 11643-1992).
Стандарты других поставщиков
Microsoft — не единственная компания, изобретающая свои более-менее несовместимые стандарты, как вы можете видеть в ftp: // ftp.unicode.org/Public/MAPPINGS/VENDORS/:
AdobeStandardEncoding
Страница Adobe PostScript язык описания называет свою собственную кодировку StandardEncoding и требует, чтобы вы сначала переключились на ISOLatin1Encoding, если хотите печатать тексты ISO-8859-1.
кодировка = Adobe-Standard-Encoding
[ТЕКСТ]
[BDF]
MacRoman
Apple Macintosh имеет долгую традиция многоязычной поддержки Apple собственные кодировки, из которых МакРоман был первым:
кодировка = macintosh
[ТЕКСТ]
[BDF]
NeXTSTEP
УNeXTSTEP есть нечто похожее:
кодировка = следующая
[ТЕКСТ]
[BDF]
HP-Roman8
HPUX и hpterm от Hewlett-Packard есть свои HP-Roman8:
кодировка = HP-Roman8
[ТЕКСТ]
[BDF]
Отправить письмо на адрес roman @ czyborra.com, если вам нужны дополнительные шрифты или обнаружите ошибки как Андреас Прилоп, Кент Карлссон, Юнгшик Шин и Ян Томашек.
Роман Чиборра
$ Дата: 27.06.1998 08:25:38 $
Windows таблица кодировки русских букв. Использование консольной утилиты DISM
Кракозябры — что за слово такое интересное? Это слово обычно используется российскими пользователями для обозначения некорректного / неправильного отображения (кодировки) символов в программах или самой операционной системе.
Почему это происходит? Вы не найдете однозначного ответа. Это может быть из-за уловок наших «любимых» вирусов, может быть из-за неисправности ОС Windows (например, отключилось питание и компьютер выключился), программа могла создать конфликт с другим или «слетела» ОС и все. В общем, причин может быть много, но самая интересная — «Взял и вот так сломался».
Читаем статью и узнаем, как исправить проблему с кодировкой в программах и ОС Windows, раз уж она возникла.
Кто еще не понимает о чем я, вот несколько:
Между прочим, я тоже однажды попал в такую ситуацию, и на моем рабочем столе до сих пор есть файл, который помог мне с этим справиться. Поэтому я решил написать эту статью.
За отображение кодировки (шрифта) в Windows отвечает несколько «вещей» — язык, реестр и файлы самой ОС. Теперь рассмотрим их по отдельности и по пунктам.
Как убрать и исправить кракозябры вместо русских (русских букв) в программе или винде.
1. Проверяем установленный язык на наличие программ, не поддерживающих Unicode. Может, он заблудился.
Итак, идем по пути: Панель управления — Язык и региональные стандарты — вкладка Дополнительно
Там ищем, чтобы язык был русский.
В Windows XP, помимо этого, внизу есть список «Кодовых страниц таблиц преобразования» и строка с номером 20880 в нем.Русский язык там тоже должен быть
6. Последний пункт, в котором я даю вам файл, который помог мне когда-то все исправить, и поэтому я оставил его на память. Вот архив:
Внутри два файла: krakozbroff.cmd и krakozbroff.reg
Принцип их тот же — исправлять всеми способами иероглифы, квадраты, вопросы или восклицательные знаки в программах и ОС Windows (в простонародье кракозябры ). Я использовал первый, и он мне помог.
И напоследок пара советов:
1) Если вы работаете с реестром, то не забудьте сделать бэкап (бэкап) на случай, если что-то пойдет не так.
2) Рекомендуется проверять 1-ю точку после каждого пункта.
Вот и все. Теперь вы знаете, как исправить удаление / исправление Кракозябры (квадраты, иероглифы, восклицательные и вопросительные знаки) в программе или Windows.
В начале 90-х, когда распался СССР и границы России открылись, к нам стали поступать программные продукты западного производства.Естественно, все они были англоговорящими. В то же время начал развиваться Интернет. Остро встала проблема русификации ресурсов и программ. Затем была изобретена русская кодировка Windows 1251. Позволяет правильно отображать буквы славянских алфавитов:
- русские;
- украинский;
- белорусский;
- сербский;
- болгарский;
- Македонский.
Разработка проводилась российским представительством Microsoft совместно с компаниями «Диалог» и «Параграф».За основу были взяты самописные разработки, которые в 1990-91 годах были в ходу у немногочисленных идеологов ИТ в России.
На сегодняшний день разработан более универсальный способ кодирования символов — UTF-8 (Unicode). Он представляет собой почти 90% всего программного обеспечения и веб-ресурсов. Windows 1251 используется 1,6% времени. (Информация из обзоров веб-технологий)
Кодировка сайта UTF 8 или Windows 1251?
Чтобы ответить на этот вопрос, нужно немного разобраться, что такое кодировки и чем они отличаются.Текстовая информация, как и любая другая, хранится в компьютере в закодированном виде. Нам легче думать об этом как о числах. Каждый символ может занимать один или несколько байтов. Windows 1251 — это однобайтовая кодировка, а UTF-8 — восьмибайтовая кодировка. Это означает, что в Windows 1251 можно закодировать только 256 символов.
Поскольку все сводится к двоичной системе исчисления, а байт составляет 8 бит (0 и 1), максимальное количество комбинаций составляет 28 = 256. Юникод позволяет вам представлять гораздо большее количество символов и большего размера. можно выделить для каждого.
Отсюда преимущества Unicode:
- В заголовке сайта следует указать используемую кодировку. В противном случае вместо символов будет отображаться «кракозяблы». А Unicode стандартен для всех браузеров — они по умолчанию ловят его на лету.
- Символы сайта останутся неизменными, независимо от того, в какой стране загружен ресурс. Это зависит не от географического расположения серверов, а от языка программного обеспечения рабочей станции клиента.Житель Португалии, очевидно, использует клавиатуру и все программное обеспечение, включая операционную систему, на своем родном языке. На его компьютере, скорее всего, вообще нет Windows 1251. А если это так, то и сайты на русском не будут корректно открываться. Unicode, в свою очередь, «жестко запрограммирован» в любую ОС на любом языке.
- UTF-8 позволяет кодировать больше символов. На данный момент используется 6 байтов из 8, а русские символы кодируются двумя байтами.
Поэтому предпочтительнее использовать универсальную кодировку, а не узкоспециализированную кодировку, которая используется только в славянских странах.
Таблица кодировки Windows 1251
Программистам и разработчикам веб-сайтов иногда необходимо знать номера символов. Для этого используются специальные таблицы кодирования. Ниже представлена таблица для Windows 1251.
Что делать, если кодировка командной строки вылетела из строя?
Иногда можно столкнуться с ситуацией, когда в командной строке вместо русского отображаются непонятные символы. Это означает, что существует проблема с кодировкой командной строки Windows 7.Почему 7? Потому что, начиная с 8-й версии используется UTF-8, а в семерке еще и Windows 1251.
Команда chcp 866 может помочь решить проблему заодно. Текущая сессия будет работать правильно. Но чтобы кардинально исправить ошибку, нужен реестр.
Хорошего дня!
Windows-1251 — это набор символов и кодировка, являющаяся стандартной 8-битной кодировкой для всех русских версий Microsoft Windows. Эта кодировка довольно популярна в странах Восточной Европы.Windows-1251 выгодно отличается от других 8-битных кодировок кириллицы (таких как CP866, KOI8-R и ISO 8859-5) наличием почти всех символов, используемых в традиционной русской типографике для обычного текста (отсутствует только знак ударения). Кириллические символы расположены в алфавитном порядке.
Windows-1251 также содержит все символы для языков, близких к русскому: белорусский, украинский, сербский, македонский и болгарский.
На практике этого оказалось достаточно, чтобы кодировка Windows-1251 закрепилась в Интернете до распространения UTF-8.
Дек | Hex | Символ | Дек | Hex | Символ | |
---|---|---|---|---|---|---|
000 | 00 | NOP | 128 | 80 | Ђ | |
001 | 01 | СОХ | 129 | 81 | Ѓ | |
002 | 02 | STX | 130 | 82 | ‚ | |
003 | 03 | ETX | 131 | 83 | ѓ | |
004 | 04 | EOT | 132 | 84 | „ | |
005 | 05 | ENQ | 133 | 85 | … | |
006 | 06 | ACK | 134 | 86 | † | |
007 | 07 | БЕЛ | 135 | 87 | ‡ | |
008 | 08 | BS | 136 | 88 | € | |
009 | 09 | ВКЛАДКА | 137 | 89 | ‰ | |
010 | 0A | LF | 138 | 8A | Љ | |
011 | 0Б | VT | 139 | 8B | ‹ | |
012 | 0C | FF | 140 | 8C | Њ | |
013 | 0D | CR | 141 | 8D | Ќ | |
014 | 0E | SO | 142 | 8E | Ћ | |
015 | 0F | SI | 143 | 8F | Џ | |
016 | 10 | DLE | 144 | 90 | ђ | |
017 | 11 | DC1 | 145 | 91 | ‘ | |
018 | 12 | DC2 | 146 | 92 | ’ | |
019 | 13 | DC3 | 147 | 93 | “ | |
020 | 14 | DC4 | 148 | 94 | ” | |
021 | 15 | НАК | 149 | 95 | ||
022 | 16 | SYN | 150 | 96 | — | |
023 | 17 | ETB | 151 | 97 | — | |
024 | 18 | CAN | 152 | 98 | ||
025 | 19 | EM | 153 | 99 | ™ | |
026 | 1A | SUB | 154 | 9A | љ | |
027 | 1B | ESC | 155 | 9Б | › | |
028 | 1С | ФС | 156 | 9C | њ | |
029 | 1D | GS | 157 | 9D | ќ | |
030 | 1E | рупий | 158 | 9E | ћ | |
031 | 1 этаж | США | 159 | 9 этаж | џ | |
032 | 20 | СП | 160 | A0 | ||
033 | 21 | ! | 161 | A1 | Ў | |
034 | 22 | » | 162 | A2 | ў | |
035 | 23 | # | 163 | A3 | Ћ | |
036 | 24 | $ | 164 | A4 | ¤ | |
037 | 25 | % | 165 | A5 | Ґ | |
038 | 26 | и | 166 | A6 | ¦ | |
039 | 27 | » | 167 | A7 | § | |
040 | 28 | ( | 168 | A8 | Год | |
041 | 29 | ) | 169 | A9 | © | |
042 | 2A | * | 170 | AA | Є | |
043 | 2Б | + | 171 | AB | « | |
044 | 2C | , | 172 | переменного тока | ¬ | |
045 | 2Д | — | 173 | н.э. | ||
046 | 2E | . | 174 | AE | ® | |
047 | 2F | / | 175 | AF | Ї | |
048 | 30 | 0 | 176 | B0 | ° | |
049 | 31 | 1 | 177 | В1 | ± | |
050 | 32 | 2 | 178 | B2 | І | |
051 | 33 | 3 | 179 | B3 | і | |
052 | 34 | 4 | 180 | B4 | ґ | |
053 | 35 | 5 | 181 | B5 | µ | |
054 | 36 | 6 | 182 | B6 | ¶ | |
055 | 37 | 7 | 183 | B7 | · | |
056 | 38 | 8 | 184 | B8 | e | |
057 | 39 | 9 | 185 | Б9 | № | |
058 | 3A | : | 186 | BA | є | |
059 | 3Б | ; | 187 | BB | » | |
060 | 3C | 188 | до н.э. | ј | ||
061 | 3D | = | 189 | BD | Ѕ | |
062 | 3E | > | 190 | BE | ñ | |
063 | 3F | ? | 191 | Bf | ї | |
064 | 40 | @ | 192 | C0 | А | |
065 | 41 | А | 193 | C1 | B | |
066 | 42 | B | 194 | C2 | В | |
067 | 43 | С | 195 | C3 | G | |
068 | 44 | D | 196 | C4 | D | |
069 | 45 | E | 197 | C5 | E | |
070 | 46 | F | 198 | C6 | Ф | |
071 | 47 | г | 199 | C7 | Z | |
072 | 48 | H | 200 | C8 | И | |
073 | 49 | I | 201 | C9 | Чт | |
074 | 4A | Дж | 202 | CA | К | |
075 | 4B | К | 203 | CB | L | |
076 | 4C | L | 204 | CC | M | |
077 | 4Д | М | 205 | CD | H | |
078 | 4E | N | 206 | CE | O | |
079 | 4F | O | 207 | CF | NS | |
080 | 50 | п | 208 | D0 | R | |
081 | 51 | Q | 209 | D1 | С | |
082 | 52 | R | 210 | D2 | Т | |
083 | 53 | S | 211 | D3 | Есть | |
084 | 54 | т | 212 | D4 | F | |
085 | 55 | U | 213 | D5 | NS | |
086 | 56 | В | 214 | D6 | С | |
087 | 57 | Вт | 215 | D7 | H | |
088 | 58 | х | 216 | D8 | NS | |
089 | 59 | Y | 217 | D9 | СЧ | |
090 | 5A | Z | 218 | DA | В | |
091 | 5B | [ | 219 | DB | NS | |
092 | 5C | \ | 220 | постоянного тока | В | |
093 | 5D | ] | 221 | DD | NS | |
094 | 5E | ^ | 222 | DE | NS | |
095 | 5F | _ | 223 | DF | Я | |
096 | 60 | ` | 224 | E0 | а | |
097 | 61 | a | 225 | E1 | б | |
098 | 62 | б | 226 | E2 | v | |
099 | 63 | c | 227 | E3 | G | |
100 | 64 | г | 228 | E4 | г | |
101 | 65 | и | 229 | E5 | и | |
102 | 66 | f | 230 | E6 | f | |
103 | 67 | г | 231 | E7 | с | |
104 | 68 | ч | 232 | E8 | и | |
105 | 69 | и | 233 | E9 | чт | |
106 | 6A | j | 234 | EA | К | |
107 | 6B | к | 235 | EB | л | |
108 | 6C | л | 236 | EC | кв.м | |
109 | 6D | м | 237 | ED | n | |
110 | 6E | n | 238 | EE | O | |
111 | 6F | или | 239 | EF | NS | |
112 | 70 | п | 240 | F0 | R | |
113 | 71 | q | 241 | F1 | с | |
114 | 72 | г | 242 | F2 | Т | |
115 | 73 | с | 243 | F3 | в | |
116 | 74 | т | 244 | F4 | f | |
117 | 75 | u | 245 | F5 | NS | |
118 | 76 | в | 246 | F6 | с | |
119 | 77 | Вт | 247 | F7 | ч | |
120 | 78 | х | 248 | F8 | NS | |
121 | 79 | y | 249 | F9 | СЧ | |
122 | 7A | z | 250 | FA | б | |
123 | 7B | { | 251 | FB | NS | |
124 | 7C | | | 252 | FC | б | |
125 | 7D | } | 253 | FD | NS | |
126 | 7E | ~ | 254 | FE | NS | |
127 | 7F | DEL | 255 | FF | Я |
Описание специальных (управляющих) символов
Первоначально управляющие символы ASCII (диапазон 00–31 плюс 127) были разработаны для управления аппаратными устройствами, такими как телетайпы, ввод перфоленты и т. Д.
Управляющие символы (кроме горизонтальных табуляции, перевода строки и возврата каретки) не используются в HTML-документах.
Код | Описание |
---|---|
NUL, 00 | Нулевой, пустой |
SOH, 01 | Начало заголовка, начало заголовка |
STX, 02 | Начало TeXt, начало текста |
ETX, 03 | Конец текста, конец текста |
EOT, 04 | Конец передачи, конец передачи |
ENQ, 05 | Запрос.Прошу подтверждения |
ACK, 06 | Благодарность. Подтверждаю |
БЕЛ, 07 | Колокол, колокол |
BS, 08 | Backspace, вернуться на один символ назад |
ВКЛАДКА, 09 | Табуляция, горизонтальная табуляция |
LF, 0A | Перевод строки, перевод строки Теперь в большинстве языков программирования он обозначается как \ n |
VT, 0B | Вертикальный выступ, вертикальный выступ |
FF, 0C | Подача формы, подача страницы, новая страница |
CR, 0D | Возврат каретки Теперь в большинстве языков программирования он обозначается как \ r |
SO, 0E | Shift Out, изменение цвета красящей ленты в печатающем устройстве |
SI, 0F | Shift In, вернуть цвет красящей ленты в печатающем устройстве назад |
DLE, 10 | Data Link Escape, переключить канал на передачу данных |
DC1, 11 DC2, 12 DC3, 13 DC4, 14 | Управление устройством, символы управления устройством |
NAK, 15 | Отрицательное подтверждение, не подтверждать |
SYN, 16 | Синхронизация.Символ синхронизации |
ETB, 17 | Конец текстового блока, конец текстового блока |
CAN, 18 | Отмена, отмена ранее пройденного |
EM, 19 | Конец среды, конец носителя данных |
SUB, 1A | Замещающий Устанавливается вместо символа, значение которого было потеряно или искажено во время передачи |
ESC, 1B | Escape Последовательность выхода |
ФС, 1С | Разделитель файлов, разделитель файлов |
GS, 1D | Групповой разделитель, групповой разделитель |
RS, 1E | Разделитель записей, разделитель записей |
US, 1F | Разделитель блоков, разделитель блоков |
DEL, 7F | Удалить, удалить последний символ. |
Иногда по той или иной причине пользователи Windows сталкиваются с чем-то, что приводит к сбою кодирования. Какая-то недавно установленная программа, вирус, манипуляции с реестром, мало ли … Вот пропали кодировки и все!
Подобное случилось со мной на днях. В некоторых русифицированных программах некоторые надписи интерфейса стали выглядеть так, будто вместо букв туда вставили отпечатки птичьих лап:
Если честно, я почти два дня искал решение проблемы.На всех форумах и сервисах «вопросы и ответы», во всех руководствах и инструкциях все как один повторяли один и тот же рецепт решения, которое могло кому-то помочь. Но не для меня. И только когда у меня закипели мозги и вся надежда на решение проблемы покинула меня, все встало на свои места.
Я решил отправить результаты поиска в « Универсальное руководство для решения всех проблем с кодировкой в операционных системах Windows XP и Windows Vista / 7 ». Хотя, возможно, это уже не так универсально…;)
Решение проблем с кодировкой в Windows XP:
Пункт 1. Для начала нужно убедиться, что русский язык установлен для программ, не поддерживающих Unicode.
Открываем « Панель управления » и дважды щелкните значок «» … Перейти на вкладку « Дополнительно » «».
После этого в списке, расположенном на этой же вкладке, найдите элемент 20880 и поставьте рядом с ним галочку:
Пункт 2.Не исключено, что проблемы с кодировкой вызваны нарушением системных настроек шрифтов.
Для восстановления настроек шрифта скачайте этот архив
Пункт 3. Следующим шагом будет изменение ключей реестра, отвечающих за кодировки. Рекомендуется вносить эти изменения только в крайнем случае и только в том случае, если все предыдущие пункты ни к чему не привели.
этот архив
Решение проблем с кодировкой в Windows Vista / 7:
1.Как и в случае с Windows XP, сначала убедитесь, что русский язык установлен для программ, не поддерживающих Unicode.
Открываем « Панель управления » и дважды щелкните значок « язык и региональные стандарты » … Перейти на вкладку « Дополнительно » и установите русский язык как « A язык для не-Unicode программ »:
Сохраните изменения и перезагрузите компьютер.Если проблема не исчезнет, перейдите к шагу 2.
2. Для восстановления настроек шрифта скачайте этот архив и запустите файл, который в нем находится, игнорируя все системные предупреждения:
Перезагрузите систему. Если проблема не исчезнет, перейдите к шагу 3.
3. Следующим шагом будет изменение ключей реестра, отвечающих за кодировки. Эти изменения желательно вносить только в крайнем случае и только в том случае, если все предыдущие пункты ни к чему не привели.
Чтобы внести эти изменения, скачайте этот архив и запустите в нем файл.Как и в предыдущем абзаце, появятся системные предупреждения.
После этих изменений вам также потребуется перезагрузить систему.
4. Если все вышеперечисленное не помогло, необходимо изменить имена следующих файлов кодовых страниц в папке C: \ Windows \ System32 :
Файл « c_1252.nls » на « c_1252.nls.bak »
Файл « c_1253.nls » на « c_1253.nls.bak »
Файл « c_1254.nls »на« c_1254.nls.bak »
Файл« c_1255.nls »на« c_1255.nls.bak »
Поскольку эти файлы защищены от модификации, желательно использовать замечательную программу для выполнения этой операции. Вы можете скачать программу с
Как известно, Windows 10 поддерживает установку языковых пакетов, с помощью которых можно менять локализацию интерфейса операционной системы. С этим очень тесно связано понятие системного языка.Системный язык — это не тот, который был добавлен с языковым пакетом, а тот, который был выбран во время установки самой системы. Если вы работаете на корпоративном компьютере, язык которого был изменен посредством установки MUI -packages, вы можете узнать, какой язык изначально использовался в системе.
Есть несколько способов определить системный язык.
Рассмотрим их по порядку.
Использование утилиты консоли DISM
Запустите командную строку от имени администратора и запустите демон / онлайн / get-intl.Получите результат за несколько секунд.
Обратите внимание на параметр «Язык пользовательского интерфейса по умолчанию» … Его значение будет системным языком.
Использование консоли PowerShell
Запустите консоль от имени администратора и выполните команду :: InstalleduICulture .
Значение параметра DisplayName указывает на системный язык. Также обратите внимание на параметр LCID , он содержит код языка, записанный в реестре Windows (см. Ниже).
Использование редактора реестра и таблицы декодирования
Команда regedit открыть редактор реестра и развернуть ветку
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Nls \ Language
В правом столбце окна редактора найдите строковый параметр (он в самом низу) и посмотрите его значение.