Содержание

что это такое простыми словами, кодовая таблица символов

ASCII — это таблица кодировки символов, в которой каждой букве, числу или знаку соответствует определенное число. В стандартной таблице ASCII 128 символов, пронумерованных от 0 до 127. В них входят латинские буквы, цифры, знаки препинания и управляющие символы.

Как выглядит таблица

Таблицу разработали в Америке в 60-х, и ее название расшифровывается как American Standard Code for Information Interchange — Американская стандартная кодировка для обмена информацией. Аббревиатура читается как «аски».

Существуют национальные расширения ASCII, которые кодируют буквы и символы, принятые в других алфавитах. «Стандартная» таблица называется US-ASCII, или международной версией. В большинстве национальных расширений заменена только часть символов, например знак доллара на знак фунта. Но для языков, где используются нелатинские алфавиты, заменяется большинство символов. Русский относится к таким языкам.

Курс Уверенный старт в IT Поможем определить подходящую вам IT-профессию и освоить её с нуля. Вы на практике попробуете разные направления: разработку на разных языках, аналитику данных, Data Science, менеджмент в IT. Это самый подходящий курс для построения карьеры в IT в новой реальности. Хочу в IT!

Цифровое устройство по умолчанию не понимает символы — только числа. Поэтому буквы, цифры и знаки приходится кодировать, чтобы задавать компьютеру соответствие между определенным начертанием и числовым значением. Сейчас вариантов кодирования несколько, и ASCII — одна из наиболее ранних кодировок. Она задала стандарты для последующих решений.

Когда появилась эта кодировка, компьютеров в современном представлении еще не существовало. Ее разработали для телетайпов — устройств обмена информацией, похожих на телеграфы с печатной машинкой. Сейчас ими практически не пользуются, но некоторые стандарты остались с тех времен. В том числе набор ASCII, который теперь применяется для кодирования информации в компьютерах.

Сейчас с помощью ASCII кодируются данные в компьютерных устройствах, на ней основано несколько других кодировок, кроме того, ее используют в творчестве — создают с помощью символов картинки. Это называется ASCII art.

  • При разработке сайта или приложения разработчику может понадобиться пользоваться ASCII, чтобы закодировать символы, не входящие в национальную кодировку.
  • Можно сохранить документ или иной файл в формате ASCII — тогда все символы в нем будут закодированы этим набором. Такое может понадобиться, если человеку нужно передать информацию, которая будет читаться везде, — но некоторые функции форматирования в таком режиме будут недоступны.
  • Можно ввести код ASCII с клавиатуры напрямую: при зажатом Alt набрать числовое значение, которое соответствует тому или иному символу из таблицы. Так можно печатать и символы, которые есть в расширенных версиях набора: смайлики, иероглифы, буквы алфавитов других стран и так далее. Код для таких символов может быть намного длиннее, чем для стандартных 128 букв и цифр.

С помощью ASCII вводят, выводят и передают информацию, поэтому она должна описывать самые часто используемые символы и управляющие элементы (перенос, шаг назад и так далее). Таблица восьмибитная, а числа, которые соответствуют символам, переводятся в двоичный код, чтобы компьютер мог их распознавать. Десятичное же написание удобнее для людей. Еще используют шестнадцатеричное — с его помощью легче представить набор в виде таблицы.

Заглавные и строчные буквы в ASCII — это разные элементы. Причем в таблице строчные буквы расположены под заглавными, в том же столбце, но в разных строчках. Так набор оказывается нагляднее, а информацию легче проверять и работать с ней, например редактировать регистр с помощью автоматических команд.

  • Первые две строчки таблицы — управляющие символы: Backspace, перевод строки, начало и конец абзаца и прочие.
  • В третьей строке расположены знаки препинания и специальные символы, такие как процент % или астериск *.
  • Четвертая строка — числа и математические символы, а также двоеточие, точка с запятой и вопросительный знак.
  • Пятая и шестая строчка — заглавные буквы, а также некоторые другие особые символы.
  • Седьмая и восьмая строки описывают строчные буквы и еще несколько символов.

Когда мы говорим о кодировании, сразу вспоминается система международной кодировки символов Unicode. Важно не путать ее с ASCII — эти понятия не идентичны.

ASCII появилась раньше и включает в себя меньше символов. В стандартной таблице их всего 128, если не считать расширений для других языков. А в «Юникоде», который реализуют кодировки UTF-8 и UTF-32, сейчас 2²¹ символов — это больше чем два миллиона. В набор входят практически все существующие сегодня символы, он очень широкий.

Unicode можно рассматривать как «продолжение», расширение ASCII. Первые 128 символов в «Юникоде» кодируются так же, как в ASCII, и это те же самые символы.

Курс Уверенный старт в IT Поможем определить подходящую вам IT-профессию и освоить её с нуля. Вы на практике попробуете разные направления: разработку на разных языках, аналитику данных, Data Science, менеджмент в IT. Это самый подходящий курс для построения карьеры в IT в новой реальности. Хочу в IT!

ascii — с английского на русский

с русского на английский

  • С русского на:
  • Английский
  • С английского на:
  • Все языки
  • Албанский
  • Арабский
  • Болгарский
  • Иврит
  • Индонезийский
  • Испанский
  • Итальянский
  • Казахский
  • Каталанский
  • Македонский
  • Немецкий
  • Нидерландский
  • Персидский
  • Польский
  • Португальский
  • Русский
  • Сербский
  • Словацкий
  • Тамильский
  • Турецкий
  • Украинский
  • Финский
  • Французский
  • Хорватский
  • Чешский
  • Шведский

Толкование Перевод

  • 1 ASCII

    Англо-русский словарь по авиации > ASCII

  • 2

    ASCII

    Англо-русский словарь компьютерных и интернет терминов > ASCII

  • 3 ASCII

    English-Russian SQL Server dictionary > ASCII

  • 4 ASCII

    English-Russian dictionary of terms that are used in computer games > ASCII

  • 5 ASCII

    ASCII

    ASCII terminal — терминал работающий в коде ASCII

    English-Russian dictionary of Information technology > ASCII

  • 6 ASCII

    ASCII, American Standard Code for Information Interchange

    американский стандартный код для обмена информацией

    ————————

    ASCII, automatic synchronous control of intelligence information

    автоматическая синхронная проверка разведывательной информации

    English-Russian dictionary of planing, cross-planing and slotting machines > ASCII

  • 7 ASCII

    ASCII (American Standard Code for Information Interchange)

    Американский кодекс стандартных обозначений.

    Англо-русский словарь по кондиционированию и вентиляции > ASCII

  • 8 ASCII

    ASCII (American Standard Code for Information Interchange)

    Американский кодекс стандартных обозначений.

    English-Russian dictionary of terms for heating, ventilation, air conditioning and cooling air > ASCII

  • 9 ASCII

    ASCII

    American Standard Code for Information Interchange

    выч.

    Американская стандартная кодировка для обмена данными

    English-Russian dictionary of modern abbreviations > ASCII

  • 10 ASCII

    1. код для обмена информацией ASCII
    2. версия КОИ-7
    3. Американский стандартный код для обмена информацией
    4. Американский стандартный код для информационного обмена

     

    Американский стандартный код для информационного обмена
    Американский 7-битный (плюс 1 бит четности) стандарт кодирования текстовой информации (латинский алфавит, цифры и т. д.), утвержденный ИСО. (На ПК используется так называемый расширенный код ASCII, в котором первые 128 битовых комбинаций совпадают со стандартным ASCII, а остальные используются для представления национальных алфавитов, псевдографики и специальных символов.).
    [ http://www.iks-media.ru/glossary/index.html?glossid=2400324]

    Тематики

    • электросвязь, основные понятия

    EN

    • American standard code for information interchange
    • ASCII

     

    Американский стандартный код для обмена информацией

    [А.С.Гольдберг. Англо-русский энергетический словарь. 2006 г.]

    Тематики

    • энергетика в целом

    EN

    • American Standard Code for Information Interchange
    • ASCII

     

    американский стандартный код для обмена информацией
    код ASCII

    Набор из 128 кодов символов для машинного представления прописных и строчных букв латинского алфавита, чисел, знаков препинания и специальных символов, каждому их которых соответствует конкретное 7-битовое двоичное число.
    [ http://www.morepc.ru/dict/]

    Тематики

    • информационные технологии в целом

    Синонимы

    • код ASCII

    EN

    • American Standard Code for Information Interchange
    • ASCII

     

    версия КОИ-7
    7-битный набор кодированных знаков, состоящий из 128 латинских букв, цифр, специальных графических и управляющих знаков, каждый из которых кодируется 7 битами (8, включая проверку паритета), используемый для обработки и обмена данными между системами обработки информации.
    [ ГОСТ 30721-2000]
    [ ГОСТ Р 51294.3-99]

    Тематики

    • кодирование штриховое

    EN

    • ASCII

    DE

    • ASCII

    FR

    • ASCII

     

    ASCII
    Американский стандартный код для обмена информацией, введен в 1963 г.
    Широко используется во многих машинах. Семиразрядный код без каких-либо рекомендаций относительно контроля по четности обеспечивает 128 различных битовых комбинаций, включая управляющие. Стандарт регламентирует порядок кодирования 7-разрядным двоичным кодом 128 различных управляющих сигналов алфавитно-цифровых и специальных графических символов. Символы, задаваемые кодами от 0 до 32, а также особым кодом 127, как правило, не выводятся на дисплей и не печатаются на принтере.
    [Е.С.Алексеев, А.А.Мячев. Англо-русский толковый словарь по системотехнике ЭВМ. Москва 1993]

    Тематики

    • информационные технологии в целом

    EN

    • American Standard Code for Information Interchange
    • ASCII

    Англо-русский словарь нормативно-технической терминологии > ASCII

  • 11 ASCII

    (American Standard Code for Information Interchange) американский стандартный код для обмена информацией, код ASCII (произносится «аски»)

    набор из 128 различных кодов символов для машинного представления прописных и строчных букв латинского алфавита, чисел, знаков препинания и специальных символов, каждому из которых соответствует конкретное 7-битовое двоичное число; стандарт ANSI Х3. 4-1967. Первые 32 символа этого кода являются управляющими (такими, как символы «перевод строки», «возврат каретки») и служат для управления печатью и передачей данных. Они не могут быть распечатаны в текстовом виде. Так как в компьютере 7-битовые коды хранятся в 8-битовых ячейках (байтах), восьмой бит при передаче данных может использоваться для контроля чётности либо для расширенного набора символов ASCII, включающего буквы различных языков и графические символы (см. extended ASCII). Введение стандартных кодов позволило упростить обмен данными между различными компьютерными системами. Европейская модификация ASCII — код Latin 1 (стандарт ISO 8859-1), американская национальная версия определена в ISO 646

    см. тж. character set, control character, EBCDIC, parity, Unicode

    Англо-русский толковый словарь терминов и сокращений по ВТ, Интернету и программированию. > ASCII

  • 12 ASCII

    код ASCII

    ASCII terminal — терминал работающий в коде ASCII

    The English-Russian dictionary general scientific > ASCII

  • 13 ASCII

    (American Standard Code for Information Interchange — американский стандартный код для обмена информацией) Набор символов ASCII Character Set A character set consisting only of the characters included in the original 128-character ASCII standard.

    English-Russian network dictionary > ASCII

  • 14 ASCII

    сокр. от American standard code for information interchange Американский стандартныйкод обмена информацией

    ASCII

    Большой англо-русский и русско-английский словарь > ASCII

  • 15 ASCII

    сокр. от American Standard Code for Information Interchange

    Американский стандартный код для обмена информацией, код ASCII

    Англо-русский словарь технических терминов > ASCII

  • 16 ASCII

    1) Компьютерная техника: Американский стандартный код для обмена информацией (American Standard Code for Information Interchange), Американский стандарт по обмену информацией, алфавитная интерпретация компьютерного кода (American Standard for Computer Information Interchange)

    2) Военный термин: automatic synchronous control of intelligence information

    3) Техника: automatic synchronous control of intelligence information system

    4) Шутливое выражение: A Scientific Computer Internal Intelligence, Amsterdam Subversive Code For Information Interchange

    5) Автомобильный термин: American standard for character information interchange

    6) Телекоммуникации: American Standard Code for Information Interchange (ANSI), Американский стандартный код информационного обмена (128 символов)

    7) Сокращение: American National Standard, American National Standard Code for Information Interchange

    8) Вычислительная техника: American Standard Code for Information Interchange, American Standard Code of Information Interchange, American standart code for information interchange, американский стандартный код обмена информацией

    9) Бытовая техника: код ASCII

    10) Сетевые технологии: American National Code for Information Interchange

    11) Химическое оружие: American Standard for Code Information Interchange

    Универсальный англо-русский словарь > ASCII

  • 17 ASCII

    = American Standard Code for Information Interchange

    Американский стандартный код для обмена информацией, ASCII-код

    English-Russian electronics dictionary > ASCII

  • 18 ASCII

    сокр. от American Standard Code for Information Interchange

    Американский стандартный код для обмена информацией, ASCII-код

    The New English-Russian Dictionary of Radio-electronics > ASCII

  • 19 ASCII

    код ASCII

    English-Russian household appliances > ASCII

  • 20 ASCII

    сокр. от American Standard Code for Information Interchange

    Американский стандартный код информационного обмена ( 128 символов)

    extended ASCII

    English-Russian dictionary of telecommunications and their abbreviations > ASCII

Страницы

  • Следующая →
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

Кодировка текста ASCII (Windows 1251, CP866, KOI8-R) и Юникод (UTF 8, 16, 32) — как исправить проблему с кракозябрами

Сегодня мы поговорим о том, откуда берутся кракозябры на сайте и в программах, какие кодировки текста существуют и какие из них следует использовать. Подробно рассмотрим историю их развития, начиная с базовой ASCII, а также ее расширенных версий CP866, KOI8-R, Windows 1251 и заканчивая современными кодировками консорциума Юникод UTF 16 и 8. Оглавление:

  • ASCII — базовая кодировка текста для латиницы
  • Расширенные версии Аски — кодировки CP866 и KOI8-R
  • Windows 1251 — вариация ASCII и почему вылезают кракозябры
  • Юникод (Unicode) — универсальные кодировки UTF 8, 16 и 32
  • Кракозябры вместо русских букв — как исправить

Кому-то эти сведения могут показаться излишними, но знали бы вы, сколько мне приходит вопросов именно касаемо вылезших кракозябров (нечитаемого набора символов). Теперь у меня будет возможность отсылать всех к тексту этой статьи и самостоятельно отыскивать свои косяки. Ну что же, приготовьтесь впитывать информацию и постарайтесь следить за ходом повествования.

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 version="1.0" encoding="windows-1251"?>

Прежде, чем начать разбирать код, браузер узнает, какая версия используется и как именно нужно интерпретировать коды символов этого языка. Но что примечательно, если вы сохраняете документ в принятом по умолчанию юникоде, это объявление xml можно будет опустить (кодировка будет считаться UTF-8, если нет BOM или ЮТФ-16, если BOM есть). В случае же документа языка Html для указания кодировки используется элемент Meta, который прописывается между открывающим и закрывающим тегом Head:

<head>
...
<meta charset="utf-8">
...
</head>

Эта запись довольно сильно отличается от принятой в стандарте в Html 4.01, но полностью соответствует стандарту Html 5, и она будет стопроцентно правильно понята любыми используемыми на текущий момент браузерами. По идее элемент Meta с указание кодировки Html документа лучше будет ставить как можно выше в шапке документа, чтобы на момент встречи в тексте первого знака не из базовой ANSI (которые правильно прочитаются всегда и в любой вариации) браузер уже должен иметь информацию о том, как интерпретировать коды этих символов. Ссылка на первоисточник: Кодировка текста ASCII (Windows 1251, CP866, KOI8-R) и Юникод (UTF 8, 16, 32) — как исправить проблему с кракозябрами

Коды символов ASCII при создании сайтов

Коды ASCII символов

  • Управляющие символы
  • Печатные символы
  • Расширенные символы ASCII Win-1251 кириллица

ASCII (полное название American Standard Code for Information Interchange — американский стандартный код для обмена информацией) — содержит код для представления десятичных цифр, латинского алфавита, знаков препинания и управляющих символов. Каждый символ имеет числовой код в диапазоне от 0 до 255.

ASCII часто используется при разработке сайта в Харькове для определения кодов нажатых символов на клавиатуре через JavaScript, либо кодирования/декодирования, экранирования, анализа данных.

Данный перечень будет полезен при использовании PHP функций Asc и Chr.

Управляющие символы

DEC OCT HEX BIN Символ Escape послед. HTML код Описание
0 000 0x00 00000000 NUL \0 &#000; Нулевой байт
1 001 0x01 00000001 SOH &#001; Начало заголовка
2 002 0x02 00000010 STX &#002; Начало текста
3 003 0x03 00000011 ETX &#003; Конец «текста»
4 004 0x04 00000100 EOT &#004; конец передачи
5 005 0x05 00000101 ENQ &#005; «Прошу подтверждения!»
6 006 0x06 00000110 ACK &#006; «Подтверждаю!»
7 007 0x07 00000111 BEL \a &#007; Звуковой сигнал – звонок
8 010 0x08 00001000 BS \b &#008; Возврат на один символ (BACKSPACE)
9 011 0x09 00001001 TAB \t &#009; Табуляция
10 012 0x0A 00001010 LF \n &#010; Перевод строки
11 013 0x0B 00001011 VT \v &#011; Вертикальная табуляция
12 014 0x0C 00001100 FF \f &#012; Прогон страницы, новая страница
13 015 0x0D 00001101 CR \r &#013; Возврат каретки
14 016 0x0E 00001110 SO &#014; Переключиться на другую ленту (кодировку)
15 017 0x0F 00001111 SI &#015; Переключиться на исходную ленту (кодировку)
16 020 0x10 00010000 DLE &#016; Экранирование канала данных
17 021 0x11 00010001 DC1 &#017; 1-й символ управления устройством
18 022 0x12 00010010 DC2 &#018; 2-й символ управления устройством
19 023 0x13 00010011 DC3 &#019; 3-й символ управления устройством
20 024 0x14 00010100 DC4 &#020; 4-й символ управления устройством
21 025 0x15 00010101 NAK &#021; «Не подтверждаю!»
22 026 0x16 00010110 SYN &#022; Символ для синхронизации
23 027 0x17 00010111 ETB &#023; Конец текстового блока
24 030 0x18 00011000 CAN &#024; Отмена
25 031 0x19 00011001 EM &#025; Конец носителя
26 032 0x1A 00011010 SUB &#026; Подставить
27 033 0x1B 00011011 ESC \e &#027; Escape (Расширение)
28 034 0x1C 00011100 FS &#028; Разделитель файлов
29 035 0x1D 00011101 GS &#029; Разделитель групп
30 036 0x1E 00011110 RS &#030; Разделитель записей
31 037 0x1F 00011111 US &#031; Разделитель юнитов
127 177 0x7F 01111111 Delete &#127; Символ для удаления (на перфолентах)

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

DEC OCT HEX BIN Символ HTML код Мнемоника
32 040 0x20 00100000 Пробел &#32;
33 041 0x21 00100001 ! &#33;
34 042 0x22 00100010 « &#34; &quot;
35 043 0x23 00100011 # &#35;
36 044 0x24 00100100 $ &#36;
37 045 0x25 00100101 % &#37;
38 046 0x26 00100110 & &#38; &amp;
39 047 0x27 00100111 &#39; &apos;
40 050 0x28 00101000 ( &#40;
41 051 0x29 00101001 ) &#41;
42 052 0x2A 00101010 * &#42;
43 053 0x2B 00101011 + &#43;
44 054 0x2C 00101100 , &#44;
45 055 0x2D 00101101 &#45;
46 056 0x2E 00101110 . &#46;
47 057 0x2F 00101111 / &#47;
48 060 0x30 00110000 0 &#48;
49 061 0x31 00110001 1 &#49;
50 062 0x32 00110010 2 &#50;
51 063 0x33 00110011 3 &#51;
52 064 0x34 00110100 4 &#52;
53 065 0x35 00110101 5 &#53;
54 066 0x36 00110110 6 &#54;
55 067 0x37 00110111 7 &#55;
56 070 0x38 00111000 8 &#56;
57 071 0x39 00111001 9 &#57;
58 072 0x3A 00111010 : &#58;
59 073 0x3B 00111011 ; &#59;
60 074 0x3C 00111100 < &#60; &lt;
61 075 0x3D 00111101 = &#61;
62 076 0x3E 00111110 > &#62; &gt;
63 077 0x3F 00111111 ? &#63;
64 100 0x40 01000000 @ &#64;
65 101 0x41 01000001 A &#65;
66 102 0x42 01000010 B &#66;
67 103 0x43 01000011 C &#67;
68 104 0x44 01000100 D &#68;
69 105 0x45 01000101 E &#69;
70 106 0x46 01000110 F &#70;
71 107 0x47 01000111 G &#71;
72 110 0x48 01001000 H &#72;
73 111 0x49 01001001 I &#73;
74 112 0x4A 01001010 J &#74;
75 113 0x4B 01001011 K &#75;
76 114 0x4C 01001100 L &#76;
77 115 0x4D 01001101 M &#77;
78 116 0x4E 01001110 N &#78;
79 117 0x4F 01001111 O &#79;
80 120 0x50 01010000 P &#80;
81 121 0x51 01010001 Q &#81;
82 122 0x52 01010010 R &#82;
83 123 0x53 01010011 S &#83;
84 124 0x54 01010100 T &#84;
85 125 0x55 01010101 U &#85;
86 126 0x56 01010110 V &#86;
87 127 0x57 01010111 W &#87;
88 130 0x58 01011000 X &#88;
89 131 0x59 01011001 Y &#89;
90 132 0x5A 01011010 Z &#90;
91 133 0x5B 01011011 [ &#91;
92 134 0x5C 01011100 \ &#92;
93 135 0x5D 01011101 ] &#93;
94 136 0x5E 01011110 ^ &#94;
95 137 0x5F 01011111 _ &#95;
96 140 0x60 01100000 ` &#96;
97 141 0x61 01100001 a &#97;
98 142 0x62 01100010 b &#98;
99 143 0x63 01100011 c &#99;
100 144 0x64 01100100 d &#100;
101 145 0x65 01100101 e &#101;
102 146 0x66 01100110 f &#102;
103 147 0x67 01100111 g &#103;
104 150 0x68 01101000 h &#104;
105 151 0x69 01101001 i &#105;
106 152 0x6A 01101010 j &#106;
107 153 0x6B 01101011 k &#107;
108 154 0x6C 01101100 l &#108;
109 155 0x6D 01101101 m &#109;
110 156 0x6E 01101110 n &#110;
111 157 0x6F 01101111 o &#111;
112 160 0x70 01110000 p &#112;
113 161 0x71 01110001 q &#113;
114 162 0x72 01110010 r &#114;
115 163 0x73 01110011 s &#115;
116 164 0x74 01110100 t &#116;
117 165 0x75 01110101 u &#117;
118 166 0x76 01110110 v &#118;
119 167 0x77 01110111 w &#119;
120 170 0x78 01111000 x &#120;
121 171 0x79 01111001 y &#121;
122 172 0x7A 01111010 z &#122;
123 173 0x7B 01111011 { &#123;
124 174 0x7C 01111100 | &#124;
125 175 0x7D 01111101 } &#125;
126 176 0x7E 01111110 ~ &#126;

Расширенные символы ASCII Win-1251 кириллица

DEC OCT HEX BIN Символ HTML код Мнемоника
128 200 0x80 10000000 Ђ &#128;
129 201 0x81 10000001 Ѓ &#129;
130 202 0x82 10000010 &#130; &sbquo;
131 203 0x83 10000011 ѓ &#131;
132 204 0x84 10000100 &#132; &bdquo;
133 205 0x85 10000101 &#133; &hellip;
134 206 0x86 10000110 &#134; &dagger;
135 207 0x87 10000111 &#135; &Dagger;
136 210 0x88 10001000 &#136; &euro;
137 211 0x89 10001001 &#137; &permil;
138 212 0x8A 10001010 Љ &#138;
139 213 0x8B 10001011 &#139; &lsaquo;
140 214 0x8C 10001100 Њ &#140;
141 215 0x8D 10001101 Ќ &#141;
142 216 0x8E 10001110 Ћ &#142;
143 217 0x8F 10001111 Џ &#143;
144 220 0x90 10010000 Ђ &#144;
145 221 0x91 10010001 &#145; &lsquo;
146 222 0x92 10010010 &#146; &rsquo;
147 223 0x93 10010011 &#147; &ldquo;
148 224 0x94 10010100 &#148; &rdquo;
149 225 0x95 10010101 &#149; &bull;
150 226 0x96 10010110 &#150; &ndash;
151 227 0x97 10010111 &#151; &mdash;
152 230 0x98 10011000 Начало строки &#152;
153 231 0x99 10011001 &#153; &trade;
154 232 0x9A 10011010 љ &#154;
155 233 0x9B 10011011 &#155; &rsaquo;
156 234 0x9C 10011100 њ &#156;
157 235 0x9D 10011101 ќ &#157;
158 236 0x9E 10011110 ћ &#158;
159 237 0x9F 10011111 џ &#159;
160 240 0xA0 10100000 Неразрывный пробел &#160; &nbsp;
161 241 0xA1 10100001 Ў &#161;
162 242 0xA2 10100010 ў &#162;
163 243 0xA3 10100011 Ј &#163;
164 244 0xA4 10100100 ¤ &#164; &curren;
165 245 0xA5 10100101 Ґ &#165;
166 246 0xA6 10100110 ¦ &#166; &brvbar;
167 247 0xA7 10100111 § &#167; &sect;
168 250 0xA8 10101000 Ё &#168;
169 251 0xA9 10101001 © &#169; &copy;
170 252 0xAA 10101010 Є &#170;
171 253 0xAB 10101011 « &#171; &laquo;
172 254 0xAC 10101100 ¬ &#172; &not;
173 255 0xAD 10101101 Мягкий перенос &#173; &shy;
174 256 0xAE 10101110 ® &#174; &reg;
175 257 0xAF 10101111 Ї &#175;
176 260 0xB0 10110000 ° &#176; &deg;
177 261 0xB1 10110001 ± &#177; &plusmn;
178 262 0xB2 10110010 І &#178;
179 263 0xB3 10110011 і &#179;
180 264 0xB4 10110100 ґ &#180;
181 265 0xB5 10110101 µ &#181; &micro;
182 266 0xB6 10110110 &#182; &para;
183 267 0xB7 10110111 · &#183; &middot;
184 270 0xB8 10111000 ё &#184;
185 271 0xB9 10111001 &#185;
186 272 0xBA 10111010 є &#186;
187 273 0xBB 10111011 » &#187; &raquo;
188 274 0xBC 10111100 ј &#188;
189 275 0xBD 10111101 Ѕ &#189;
190 276 0xBE 10111110 ѕ &#190;
191 277 0xBF 10111111 ї &#191;
192 300 0xC0 11000000 А &#192;
193 301 0xC1 11000001 Б &#193;
194 302 0xC2 11000010 В &#194;
195 303 0xC3 11000011 Г &#195;
196 304 0xC4 11000100 Д &#196;
197 305 0xC5 11000101 Е &#197;
198 306 0xC6 11000110 Ж &#198;
199 307 0xC7 11000111 З &#199;
200 310 0xC8 11001000 И &#200;
201 311 0xC9 11001001 Й &#201;
202 312 0xCA 11001010 К &#202;
203 313 0xCB 11001011 Л &#203;
204 314 0xCC 11001100 М &#204;
205 315 0xCD 11001101 Н &#205;
206 316 0xCE 11001110 О &#206;
207 317 0xCF 11001111 П &#207;
208 320 0xD0 11010000 Р &#208;
209 321 0xD1 11010001 С &#209;
210 322 0xD2 11010010 Т &#210;
211 323 0xD3 11010011 У &#211;
212 324 0xD4 11010100 Ф &#212;
213 325 0xD5 11010101 Х &#213;
214 326 0xD6 11010110 Ц &#214;
215 327 0xD7 11010111 Ч &#215;
216 330 0xD8 11011000 Ш &#216;
217 331 0xD9 11011001 Щ &#217;
218 332 0xDA 11011010 Ъ &#218;
219 333 0xDB 11011011 Ы &#219;
220 334 0xDC 11011100 Ь &#220;
221 335 0xDD 11011101 Э &#221;
222 336 0xDE 11011110 Ю &#222;
223 337 0xDF 11011111 Я &#223;
224 340 0xE0 11100000 а &#224;
225 341 0xE1 11100001 б &#225;
226 342 0xE2 11100010 в &#226;
227 343 0xE3 11100011 г &#227;
228 344 0xE4 11100100 д &#228;
229 345 0xE5 11100101 е &#229;
230 346 0xE6 11100110 ж &#230;
231 347 0xE7 11100111 з &#231;
232 350 0xE8 11101000 и &#232;
233 351 0xE9 11101001 й &#233;
234 352 0xEA 11101010 к &#234;
235 353 0xEB 11101011 л &#235;
236 354 0xEC 11101100 м &#236;
237 355 0xED 11101101 н &#237;
238 356 0xEE 11101110 о &#238;
239 357 0xEF 11101111 п &#239;
240 360 0xF0 11110000 р &#240;
241 361 0xF1 11110001 с &#241;
242 362 0xF2 11110010 т &#242;
243 363 0xF3 11110011 у &#243;
244 364 0xF4 11110100 ф &#244;
245 365 0xF5 11110101 х &#245;
246 366 0xF6 11110110 ц &#246;
247 367 0xF7 11110111 ч &#247;
248 370 0xF8 11111000 ш &#248;
249 371 0xF9 11111001 щ &#249;
250 372 0xFA 11111010 ъ &#250;
251 373 0xFB 11111011 ы &#251;
252 374 0xFC 11111100 ь &#252;
253 375 0xFD 11111101 э &#253;
254 376 0xFE 11111110 ю &#254;
255 377 0xFF 11111111 я &#255;

Помогла ли вам статья?

348 раз уже помогла

Комментарии: (0)

Таблица символов ASCII в языке программирования C++

ASCII ( от англ. American Standard Code for Information Interchange) — американский стандартный код для обмена информацией. ASCII представлена в виде таблицы печатных символов и некоторых специальных управляющих символов, каждому символу соответствует уникальный код в диапазоне от [0;255]. ASCII представляет собой кодировку для представления десятичных цифр, латиницы и кириллицы, знаков препинания и управляющих символов (см. Таблица 1).

Таблица 1 — Таблица символов ASCII
0 1 2 3 4 5 6 7 8 9
0 nul sox stx etx eot enq ack bel bs ht
1 nl vt ff cr so si dle dc1 dc2 dc3
2 dc4 nak syn etb can em sub esc fs gs
3 rs us space ! « # $ % &
4 ( ) * + , . / 0 1
5 2 3 4 5 6 7 8 9 : ;
6 < = > ? @ A B C D E
7 F G H I J K L M N O
8 P Q R S T U V W X Y
9 Z [ \ ] ^ _ a b c
10 d e f g h i j k l m
11 n o p q r s t u v w
12 x y z { | } ~ del А Б
13 В Г Д Е Ж З И Й К Л
14 М Н О П Р С Т У Ф Х
15 Ц Ч Ш Щ ъ Ы Ь Э Ю Я
16 а б в г д е ж з и й
17 к л м н о п
18
19
20
21
22      р с т у ф х
23 ц ч ш щ ъ ы ь э ю я
24 Ё ё Є є Ї ї Ў ў ° ·
25 · ¤

Таблица 1 представляет собой полный набор символов ASCII. В таблице ASCII, символы с нулевого по 31 включительно, являются управляющими ASCII символами. Это значит, что данные символы выполняют некоторые действия, причём эти символы печатаются с сочетанием клавиши Ctrl. В таблице 1 записано обозначение управляющих ASCII символов, но не их отображение при печати. Остальные же символы с 32 по 254 не являются управляющими и имеют вид как и в таблице 1.

Благодаря таблице ASCII появилась новая форма представления изображений, с помощью символов таблицы ASCII.

ASCII art  — форма изобразительного искусства, использующая символы ASCII для представления изображений. При создании такого изображения используются символы букв, цифр и знаков пунктуации. В ASCII art используется около 95 символов таблицы ASCII. Так как национальные представления таблиц ASCII различаются, поэтому остальные 160 символов не используются в искусстве ASCII.

   // искусство ASCII (ASCII art)надпись сгенерирована программой
/*                                   __                __                                                   
                                    /\ \__            /\ \   __                                             
       ___   _____    _____     ____\ \ ,_\  __  __   \_\ \ /\_\     ___         ___     ___     ___ ___    
      /'___\/\ '__`\ /\ '__`\  /',__\\ \ \/ /\ \/\ \  /'_` \\/\ \   / __`\      /'___\  / __`\ /' __` __`\  
     /\ \__/\ \ \L\ \\ \ \L\ \/\__, `\\ \ \_\ \ \_\ \/\ \L\ \\ \ \ /\ \L\ \ __ /\ \__/ /\ \L\ \/\ \/\ \/\ \ 
     \ \____\\ \ ,__/ \ \ ,__/\/\____/ \ \__\\ \____/\ \___,_\\ \_\\ \____//\_\\ \____\\ \____/\ \_\ \_\ \_\
      \/____/ \ \ \/   \ \ \/  \/___/   \/__/ \/___/  \/__,_ / \/_/ \/___/ \/_/ \/____/ \/___/  \/_/\/_/\/_/
               \ \_\    \ \_\                                                                               
                \/_/     \/_/                                                                                   */

Изначально ASCII art выполнялось вручную, и это была рутинная работа. Сейчас существует огромное количество программ, так называемых, генераторов ASCII art. Такие программы автоматически создают ASCII изображения.

Как научить Python русскому языку — Учимся с Python

Специфика работы в Python со строками на русском языке проистекает из того, что существует множество независимых кодировок для представления на компьютере букв, отличных от латинских. Попробуем ответить на вопросы, что такое кодировка символов, почему их так много, и как нам работать с русскими символами и строками в Python.

Вы, конечно, слышали, что все данные в компьютере представлены в цифровом виде. Компьютер в принципе хранит и обрабатывает только числа.

Однако человек работает с текстами, состоящими из букв, цифр, знаков пунктуации и некоторых специальных символов, например, @, #, $. Посмотрите внимательно на символы, из которых состоит текст на экране компьютера. Вы видите их потому, что компьютер, для передачи данных пользователю, представляет хранящиеся в нем числовые данные в виде символов. и &. Введенные вами с клавиатуры символы хранятся в памяти компьютера в виде чисел. Потому что ничего, кроме чисел, в компьютере не может храниться.

Поэтому каждый символ, отображаемый или принимаемый компьютером, кодируется некоторым числом. Ниже представлена таблица кодировки ASCII, которая использует числа от 0 до 127 для кодирования символов, включая латиницу (буквы латинского алфавита), цифры от 0 до 9, знаки пунктуации и специальные символы. Кроме того, коды от 0 до 31 кодируют специальные управляющие символы, такие как табуляция TAB, перевод строки LF и другие. Подробнее познакомиться с таблицей ASCII можно в Википедии.

0 NULL 32 Space 64 @ 96 `
1 SOH 33 ! 65 A 97 a
2 STX 34 66 B 98 b
3 ETX 35 # 67 C 99 c
4 EOT 36 $ 68 D 100 d
5 ENQ 37 % 69 E 101 e
6 ACK 38 & 70 F 102 f
7 BEL 39 71 G 103 g
8 BS 40 ( 72 H 104 h
9 TAB 41 ) 73 I 105 i
10 LF 42 * 74 J 106 j
11 VT 43 + 75 K 107 k
12 FF 44 , 76 L 108 l
13 CR 45 77 M 109 m
14 SO 46 . 78 N 110 n
15 SI 47 / 79 O 111 o
16 DLE 48 0 80 P 112 p
17 DC1 49 1 81 Q 113 q
18 DC2 50 2 82 R 114 r
19 DC3 51 3 83 S 115 s
20 DC4 52 4 84 T 116 t
21 NAK 53 5 85 U 117 u
22 SYN 54 6 86 V 118 v
23 ETB 55 7 87 W 119 w
24 CAN 56 8 88 X 120 x
25 EM 57 9 89 Y 121 y
26 SUB 58 : 90 Z 122 z
27 ESC 59 ; 91 [ 123 {
28 FS 60 < 92 124 |
29 GS 61 = 93 ] 125 }
30 RS 62 > 94 ^ 126 ~
31 US 63 ? 95 _ 127 DEL

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

Закодируем, используя приведенную выше таблицу кодов ASCII, слово “Hello”. Мы получим следующую последовательностью числовых кодов: 72, 101, 108, 108, 111. Проверить (и узнать) соответствие букв и кодов можно при помощи встроенных функций Python chr и ord. Функция chr принимает в качестве аргумента целочисленный код и возвращает соответствующий ему символ. Функция ord, наоборот, принимает символ и возвращает кодирующее его целое число:

>>> ord('H')
72
>>> ord('e')
101
>>> chr(101)
'e'
>>> type(chr(101))
<type 'str'>
>>>

Посмотрите еще раз на таблицу ASCII. Как видите, в ней нет букв русского алфавита. А также в ней греческих, арабских, японских и других букв и иероглифов, использующихся в разных языках Земли. Для кодирования букв и других символов, отсутствующих в таблице ASCII, используются числа больше 128. На следующем рисунке представлена кодировка cp866, использующая числа от 128 до 255 для кодирования символов кириллицы (букв русского алфавита) и специальных графических символов.

128 А 160 а 192 224 р
129 Б 161 б 193 225 с
130 В 162 в 194 226 т
131 Г 163 г 195 227 у
132 Д 164 д 196 228 ф
133 Е 165 е 197 229 х
134 Ж 166 ж 198 230 ц
135 З 167 з 199 231 ч
136 И 168 и 200 232 ш
137 Й 169 й 201 233 щ
138 К 170 к 202 234 ъ
139 Л 171 л 203 235 ы
140 М 172 м 204 236 ь
141 Н 173 н 205 237 э
142 О 174 о 206 238 ю
143 П 175 п 207 239 я
144 Р 176 208 240 Ё
145 С 177 209 241 ё
146 Т 178 210 242 Є
147 У 179 211 243 є
148 Ф 180 212 244 Ї
149 Х 181 213 245 ї
150 Ц 182 214 246 Ў
151 Ч 183 215 247 ў
152 Ш 184 216 248 °
153 Щ 185 217 249
154 Ъ 186 218 250 ·
155 Ы 187 219 251
156 Ь 188 220 252
157 Э 189 221 253 ¤
158 Ю 190 222 254
159 Я 191 223 255  

Кодировка cp866 использовалась в операционной системе MS DOS и теперь по умолчанию используется в консоли MS Windows. Буквы cp в названии этой и других кодировок — сокращение от code page (англ.: кодовая страница).

Случилось так, что числа от 128 до 255 стали использоваться в разных странах для кодирования букв алфавитов разных языков, а не только русского. Но даже если вести речь только о кириллице, то, кроме кодировки cp866, существуют несколько других кодировок, которые иначе сопоставляют буквы кириллицы кодам в диапазоне от 128 до 255. В качестве примера еще одной кириллической кодировки ниже приведена таблица кодов cp1251, используемая графическими приложениями в ОС MS Windows, такими как Блокнот, MS Office и другими.

128 Ђ 160   192 А 224 а
129 Ѓ 161 Ў 193 Б 225 б
130 162 ў 194 В 226 в
131 ѓ 163 Ј 195 Г 227 г
132 164 ¤ 196 Д 228 д
133 165 Ґ 197 Е 229 е
134 166 ¦ 198 Ж 230 ж
135 167 § 199 З 231 з
136 168 Ё 200 И 232 и
137 169 © 201 Й 233 й
138 Љ 170 Є 202 К 234 к
139 171 « 203 Л 235 л
140 Њ 172 ¬ 204 М 236 м
141 Ќ 173 ­ 205 Н 237 н
142 Ћ 174 ® 206 О 238 о
143 Џ 175 Ї 207 П 239 п
144 ђ 176 ° 208 Р 240 р
145 177 ± 209 С 241 с
146 178 І 210 Т 242 т
147 179 і 211 У 243 у
148 180 ґ 212 Ф 244 ф
149 181 µ 213 Х 245 х
150 182 214 Ц 246 ц
151 183 · 215 Ч 247 ч
152 ˜ 184 ё 216 Ш 248 ш
153 185 217 Щ 249 щ
154 љ 186 є 218 Ъ 250 ъ
155 187 » 219 Ы 251 ы
156 њ 188 ј 220 Ь 252 ь
157 ќ 189 Ѕ 221 Э 253 э
158 ћ 190 ѕ 222 Ю 254 ю
159 џ 191 ї 223 Я 255 я

Из сказанного можно сделать вывод о том, что для правильного отображения символов на экране компьютеру необходимо знать, в какой кодировке представлены данные, которые нужно отобразить. Например, пускай нам дана следующая последовательность кодов: 232, 227, 226. Если принять, что это символы, представленные в кодировке cp866, то мы получим слово “шут”. А если принять, что это символы, представленные в кодировке cp1251, то мы получим слово “игв”. А в греческой кодировке cp1253 эти же коды дадут нам “θγβ”! На сегодняшний день существуют десятки кодировок, сопоставляющих числовые коды от 128 до 255 различным символам!

Если вы запускаете интерпретатор Python в консоли русскоязычной Windows, то Python ожидает, что строки используют кодировку cp866. Давайте проведем небольшое исследование для того, чтобы подтвердить или опровергнуть это утверждение. Воспользуемся функцией ord для получения числовых кодов нескольких русских букв, введенных с клавиатуры, и таблицей кодов cp866, приведенной выше, чтобы убедиться, что функция ord вернула нам коды букв в кодировке cp866:

>>> print ord('э'), ord('ю'), ord('я')
237 238 239
>>>

А функция chr выведет буквы русского алфавита, соответствующие кодам, взятым нами из таблицы cp866:

>>> print chr(128), chr(129), chr(130)
А Б В
>>>

Итак, русские буквы, которые мы вводим с клавиатуры при работе в интерактивном режиме Python, представлены в кодировке cp866. Работая в интерактивном режиме Python, мы можем смело использовать русские буквы в строковых значениях:

>>> name = 'мир'
>>> print 'Привет', name
Привет мир
>>>

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

Однако, для русификации скриптов Python, сохраненных в файлах, нам осталось сделать еще один шаг. Нам нужно ответить на вопрос, в какой кодировке сохранен наш скрипт в файле? Это зависит от текстового редактора, в котором был написан и сохранен скрипт, и от того, была ли явно указана кодировка при сохранении файла.

Как было сказано выше, Блокнот, или Notepad, простой текстовый редактор, имеющийся в ОС Windows, использует кириллическую кодировку cp1251, а консоль Windows, или окно для работы с командной строкой, по умолчанию использует кириллическую кодировку cp866. Это очень неудобно для русскоязычных пользователей.

Например, создайте в Блокноте файл C:\russian.txt с единственной строкой:

Привет мир!

А теперь откройте окно с командной строкой и выведите содержимое этого файла на экран:

C:\>type russian.txt
╧ЁштхЄ ьшЁ!

Что это за кракозябры?

Если вы отыщете эти символы, один за одним, в приведенной выше таблице кодов cp866, то получится последовательность кодов: 207, 240, 232, 226, 229, 242, 32, 252, 248, 240, 33. (Пробел и восклицательный знак имеют коды из диапазона 0 — 127 и кодируются таблицей ASCII.) Теперь переведите эти коды в символы, используя таблицу кодировки cp1251, и вы получите “Привет мир!” Кракозябры в консольном окне мы видим потому, что Блокнот сохранил файл в кодировке cp1251, а консольное окно считает, что коды от 128 до 255 представляют символы из кодировки cp866!

Преодолеть эту проблему можно с помощью консольной команды chcp. Команда chcp без параметров показывает, какая кодировка является текущей:

C:\>chcp
Active code page: 866

А в качестве параметра команда chcp принимает номер кодировки, которую необходимо сделать текущей. Если с ее помощью изменить текущую кодировку консольного окна на cp1251, то мы, наконец, сможем увидеть содержимое файла russian.txt неискаженным:

C:\>chcp 1251
Active code page: 1251
C:\>type russian.txt
Привет мир!

Скрипт на Python является текстовым файлом точно так же, как файл russian.txt, с которым мы экспериментировали. И если создать и сохранить скрипт, использующий русские буквы, в Блокноте, то скрипт будет сохранен в кодировке cp1251. Давайте откроем в Блокноте файл russian.txt и сохраним его как russian.py, слегка изменив его содержимое:

print 'Привет мир!'

Теперь это файл с очень простым скриптом на языке Python. Выполним его:

C:\>python russian.py
  File "russian.py", line 1
SyntaxError: Non-ASCII character '\xcf' in file russian.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

Вместо ожидаемого приветствия на русском языке Python вывел сообщение об ошибке. Сообщение говорит о том, что в 1-ой строке файла встретился символ, не являющийся символом ASCII, а кодировка не объявлена. Очевидно, что символы, не являющиеся символами ASCII, в нашем файле — это русские буквы. Но что же в этом плохого?

Дело в том, что Python по умолчанию ожидает, что скрипты, переданные ему для выполнения, имеют кодировку ASCII, то есть, содержат символы с кодами в диапазоне 0 — 127. Для всех, кто использует в своих скриптах только латиницу, цифры и другие символы ASCII, это работает прекрасно. Пользователи, использующие в своих программах строковые значения и комментарии на английском языке, чувствуют себя совершенно комфортно в этой ситуации и, по большей части, не подозревают о проблеме, с которой мы только что столкнулись.

Чтобы сообщить Python о том, что скрипт использует кодировку, отличную от ASCII, нужно в начале файла поместить комментарий специального вида, содержащий информацию о кодировке файла. Для скрипта russian.py, созданного в Блокноте, укажем кодировку cp1251, после чего скрипт будет выглядеть так:

# -*- coding: cp1251 -*-
print 'Привет мир!'

После этого сможем успешно выполнить скрипт в консольном окне Windows (только не забудьте установить текущую кодировку командой chcp 1251):

C:\>chcp 1251
Active code page: 1251
C:\>python russian. py
Привет мир!

Итак, для того, чтобы скрипт Python заговорил по-русски в консольном окне Windows, необходимо:

  1. Указать в начале скрипта кодировку, которую использует файл. Например:

    # -*- coding: cp1251 -*-
    
  2. Установить в консольном окне Windows кодировку, которую использует выполняемый скрипт. Например:

    C:\> chcp 1251
    Active code page: 1251

В общем случае, скрипт с русскими строками и комментариями может использовать любую из кириллических кодировок, в частности, любую из рассмотренных выше, cp1251 или cp866. Важно, чтобы объявленная в начале файла кодировка была та самая, в которой сохранен файл.

Если скрипт использует кодировку cp866, то в консольном окне русскоязычной Windows не нужно предпринимать никаких специальных действий перед выполнением скрипта, ведь cp866 — кодировка, установленная в консоли по умолчанию. Но если скрипт использует кодировку cp1251, то перед его выполнением в консоли нужно установить текущую кодировку командой chcp 1251.

Таблица

Ascii для кириллической кодировки (CP855)

Американский стандартный код для обмена информацией ( ASCII ) — широко используемая система кодировки символов , представленная в 1963 году. стандартный набор символов изначально состоял из 128 символов (7-битный код). Первые 32 символа — это управляющие символы (также называемые непечатаемыми символами), которые используются для управления потоками данных, а также такими устройствами, как принтеры. Позже он был расширен для поддержки 256 символов (8-битный код), чтобы предоставить символы, специфичные для языка, различные символы, а также символы для рисования блоков: элементы, используемые для презентационных целей, позволяющие рисовать различные виды рамок и блоков. Символы в диапазоне 128-255 называются расширенным ASCII.

Кодовая страница 855 является альтернативной кодовой страницей , используемой для написания языков на основе кириллицы: белорусского, боснийского, болгарского, македонского, русского, сербского, украинского (славянские языки), а также казахского, киргизского, молдавского, монгольского, таджикского, узбекского. (не славянский). Он не очень популярен, кодовая страница 866 является наиболее широко используемой. Только расширенный набор символов отличается от исходной кодовой страницы, причем как управляющие символы, так и стандартный набор символов представляют собой простой ASCII.

9Таблица символов 0003 ниже показывает графическое представление каждого символа с точностью до пикселя, а также текстовое описание.

Control characters (0 — 31):

Dec Hex Char Description Dec Hex Char Description
0 0 NUL (Null ) 16 10 DLE (выход канала передачи данных)
1 1 SOH (Start of Header) 17 11 DC1 (Device Control 1)
2 2 STX (Start of Text) 18 12 DC2 (Device Control 2)
3 3 ETX (End of Text) 19 13 DC3 (Device Control 3)
4 4 EOT (End of Transmission) 20 14 DC4 (Device Control 4)
5 5 ENQ (Enquiry) 21 15 NAK (Negative Acknowledge)
6 6 ACK (Acknowledge) 22 16 SYN (Synchronous Idle)
7 7 BEL (Bell) 23 17 ETB (End of Transmission Block)
8 8 BS (BackSpace) 24 18 CAN (Cancel)
9 9 HT (Horizontal Tabulation) 25 19 EM (End of Medium)
10 A LF (Line Feed) 26 1A SUB (Substitute)
11 B VT (Vertical Tabulation) 27 1B ESC (Escape)
12 C FF (Form Feed) 28 1C FS (File Separator)
13 D CR (Carriage Return) 29 1D GS (Group Separator)
14 E SO (Shift Out) 30 1E RS (Record Separator)
15 F SI (Shift In) 31 1F US (Unit Separator)

Standard character set (32 — 127):

.0023
Dec Hex Char Description Dec Hex Char Description
32 20 Space 80 50 Upper case P
33 21 Exclamation mark 81 51 Верхний корпус Q
34 22 Цитата Марка 52 . 0023 35 23 Hash 83 53 Upper case S
36 24 Dollar 84 54 Upper case T
37 25 Percent 85 55 Upper case U
38 26 Ampersand 86 56 Upper case V
39 27 Apostrophe 87 57 Upper case W
40 28 Open bracket 88 58 Верхний корпус x
41 29 Закрыть кронштейн 59 Верх0024 2A Asterisk 90 5A Upper case Z
43 2B Plus 91 5B Open square bracket
44 2C Comma 92 5C Backslash
45 2D Dash 93 5D Close square bracket
46 2E Full stop 94 5E Caret
47 2F Slash 95 5F Underscore
48 30 Zero 96 60 Grave accent
49 31 One 97 61 Lower case a
50 32 Two 98 62 Lower case b
51 33 Three 99 63 Нижний чехол C
52 34 Четыре 100 64 . 0024 Five 101 65 Lower case e
54 36 Six 102 66 Lower case f
55 37 Seven 103 67 Нижний чехол G
56 38 восемь 104 99969 9969 9699969 57 39 Nine 105 69 Lower case i
58 3A Colon 106 6A Lower case j
59 3B Semicolon 107 6B Lower case k
60 3C Less than 108 6C Lower case l
61 3D Equals sign 109 6D Lower case m
62 3E Greater than 110 6e Нижний чехол N
63 3F Марк 111 6F Нижний чехол O . 0025 40 At 112 70 Lower case p
65 41 Upper case A 113 71 Lower case q
66 42 Upper case B 114 72 Lower case r
67 43 Upper case C 115 73 Lower case s
68 44 Upper case D 116 74 Lower case t
69 45 Upper case E 117 75 Нижний чехол U
70 46 Верхний чехол F 118 . Нижний чехол v .0024 47 Upper case G 119 77 Lower case w
72 48 Upper case H 120 78 Lower case x
73 49 Верхний корпус I 121 79 . 0024 7A Lower case z
75 4B Upper case K 123 7B Open brace
76 4C Upper case L 124 7C Pipe
77 4D Upper case M 125 7D Close brace
78 4E Upper case N 126 7E Tilde
79 4F Upper case O 127 7F Delete

Extended character set ( 128 — 255):

8E 9020 40024 Cyrillic lower case je 9009 0046 . 0046 .0025 0040
Dec HEX HAR Описание DEC HEX HAR Описание
128418 .0025 80 Cyrillic lower case dje 192 C0 Box drawings light up and right
129 81 Cyrillic upper case DJE 193 C1 Box рисунки с подсветкой вверх и по горизонтали
130 82 Нижний кириллический регистр gje 194 C2 0025
131 83 Cyrillic upper case GJE 195 C3 Box drawings light vertical and right
132 84 Cyrillic lower case io 196 C4 чертежа коробки. 0025
134 86 Cyrillic lower case ukrainian ie 198 C6 Cyrillic lower case ka
135 87 Cyrillic upper case ukrainian IE 199 C7 Cyrillic upper case KA
136 88 Cyrillic lower case dze 200 C8 Box drawings double up and right
137 89 Cyrillic upper case DZE 201 C9 Box drawings double down and right
138 8A Cyrillic lower case byelorussian-ukrainian i 202 CA Чертежи коробок двойные и горизонтальные
139 8B Кириллица заглавная белорусско-украинская I 203 CB Результаты коробки Double Down and Horizontal
140 8C Cyrillic Lower Case YI 204 CCCC -BOIL 8D Верхний регистр кириллицы YI 205 CD Чертежи коробок двойные горизонтальные
142 206 CE Box drawings double vertical and horizontal
143 8F Cyrillic upper case JE 207 CF Currency sign
144 90 Cyrillic Lower Case LJE 208 D0 Cyrillic Lower Case EL
145
145
145
145
Cyrillic upper case LJE 209 D1 Cyrillic upper case EL
146 92 Cyrillic lower case nje 210 D2 Cyrillic lower case em
147 93 Cyrillic Верхний корпус NJE 211 D3 Cyrillic Upper Case EM
148
148
148
148
148
148
Cyrillic lower case tshe 212 D4 Cyrillic lower case en
149 95 Cyrillic upper case TSHE 213 D5 Cyrillic upper case EN
150 96 Cyrillic lower case kje 214 D6 Cyrillic lower case o
151 97 Cyrillic upper case KJE 215 D7 Cyrillic upper case O
152 98 Cyrillic lower case short u 216 D8 Cyrillic lower case pe
153 99 Cyrillic upper case short U 217 D9 Box drawings light up and left
154 9A Cyrillic lower case dzhe 218 DA Box drawings light down and right
155 9B Cyrillic upper case DZHE 219 DB Full block
156 9C Cyrillic lower case yu 220 DC Lower half block
157 9D Cyrillic upper case YU 221 DD Cyrillic upper case PE
158 9E Cyrillic lower case hard sign 222 DE Cyrillic lower case ya
159 9F Cyrillic Верхний корпус. 0046 Cyrillic lower case a 224 E0 Cyrillic upper case YA
161 A1 Cyrillic upper case A 225 E1 Cyrillic lower case er
162 A2 Cyrillic Lower Case BE 226 E2 Cyrillic Toper Case ER
163 A3
163 A3
163 A3
163 A3
163 A3
.0024 Cyrillic upper case BE 227 E3 Cyrillic lower case es
164 A4 Cyrillic lower case tse 228 E4 Cyrillic upper case ES
165 A5 Cyrillic upper case TSE 229 E5 Cyrillic lower case te
166 A6 Cyrillic lower case de 230 E6 Cyrillic upper case TE
167 A7 Cyrillic upper case DE 231 E7 Cyrillic lower case u
168 A8 Нижний регистр кириллицы т. е. 232 E8 Прописная кириллица U
169 A9 6 5 Кириллица верхний регистр IE0024 233 E9 Cyrillic lower case zhe
170 AA Cyrillic lower case ef 234 EA Cyrillic upper case ZHE
171 AB Верхний регистр кириллицы EF 235 EB Нижний регистр кириллицы ve
172 AC Нижний регистр кириллицы0024 236 EC Cyrillic upper case VE
173 AD Cyrillic upper case GHE 237 ED Cyrillic lower case soft sign
174 AE Левый указатель с двойным углом кавычка 238 EE Мягкий знак Cyrillic Upper Case. 0025 239 EF Numero sign
176 B0 Light shade 240 F0 Soft hyphen
177 B1 Medium shade 241 F1 Cyrillic Lower Case Yeru
178 B2 Dark Shade 242 F2 924 242 F2 9924 242 F2 924 242 F2 242 F2 242 F2 .0025
179 B3 Box drawings light vertical 243 F3 Cyrillic lower case ze
180 B4 Box drawings light vertical and left 244 F4 Кириллический верхний корпус ZE
181 B5 Cyrillic Lower Case HA 245 F5 . 0025
182 B6 Cyrillic upper case HA 246 F6 Cyrillic upper case SHA
183 B7 Cyrillic lower case i 247 F7 Строчные кириллицы e
184 B8 Прописные кириллицы I 248 F8 Верхние буквы e
185 B9 Box drawings double vertical and left 249 F9 Cyrillic lower case shcha
186 BA Box drawings double vertical 250 FA Кириллический верхний корпус SHCHA
187 BB Рисунки коробки двойной и слева 251
188 BC Box drawings double up and left 252 FC Cyrillic upper case CHE
189 BD Cyrillic lower case short i 253 FD Знак секции
190 BE Cyrillic Верхний корпус Шорт I 254 FE Черная квадрат FE FE FE FE FE FE
191 BF Результаты коробки Light Down Down и слева 255 FF Space No-Break

HEX / Pref-Pref-Prefix Converte.

разделитель и нажмите кнопку Convert
(например, 45 78 61 6d 70 6C 65 21):

От BinaryDecimalOctalHexadecimalText

Кому BinaryDecimalOctalHexadecimalText

Вставьте шестнадцатеричные числа или перетащите файл

Кодировка символов ASCIIUnicodeUTF-8UTF-16UTF-16 с прямым порядком байтовUTF-16 с прямым порядком байтовWindows-1252Big5 (китайский)CP866 (русский)EUC-JP (японский)EUC-KR (корейский)GB 18030 (китайский)GB 2312 (китайский)ISO-2022-CN ( Китайский)ISO-2022-JP (японский)ISO-8859-1 (латинский1/западноевропейский)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-8- I (латиница/иврит) ISO-8859-10 (Latin6/Северные страны)ISO-8859-13 (Latin7/Балтийские страны)ISO-8859-14 (Latin8/Celtic)ISO-8859-15 (Latin9/Западноевропейские страны)ISO-8859-16 (Latin10/Юго-Восточные страны) Европейский)KOI8-R (русский)KOI8-U (украинский)Macintosh (x-mac-roman)Mac OS Cyrillic (x-mac-cyrillic)Shift JIS (японский)Windows-874 (тайский)Windows-1250 (восточноевропейский) Windows-1251 (кириллица)Windows-1252 (западноевропейская)Windows-1253 (греческая)Windows-1254 (турецкая)Windows-1255 (иврит)Windows-1256 (арабская)Windows-1257 (балтийская)Windows-1258 (вьетнамская)X -Пользовательский

Преобразователь ASCII в шестнадцатеричный ►

Кодирование текста ASCII использует фиксированный 1 байт для каждого символа.

Кодировка текста UTF-8 использует переменное количество байтов для каждого символа. Для этого требуется разделитель между каждым шестнадцатеричным числом.

Как преобразовать шестнадцатеричный код в текст

Преобразовать шестнадцатеричный код ASCII в текст:

  1. Получить шестнадцатеричный байт
  2. Преобразовать шестнадцатеричный байт в десятичный
  3. Получить символ кода ASCII из таблицы ASCII
  4. Продолжить со следующего байта
Пример

Преобразовать шестнадцатеричный код ASCII «50 6C 61 6E 74 20 74 72 65 65 73» в текст:

Решение:

Используйте таблицу ASCII для получения символа из кода ASCII.

50 16 = 5×16 1 +0×16 0 = 80+0 = 80 => P = 96+12 = 108 => «l»

61 16 = 6×16 1 +1×16 0 = 96+1 = 97 => «a»

⁝ 2

для всех шестнадцатеричных байтов вы должны получить текст:

«Сажать деревья»

Как преобразовать шестнадцатеричный текст в текст?

  1. Получить шестнадцатеричный код байта
  2. Преобразовать шестнадцатеричный байт в десятичный
  3. Получить символ десятичного кода ASCII из таблицы ASCII
  4. Продолжить со следующего шестнадцатеричного байта

Как использовать конвертер текста Hex в ASCII?

  1. Вставьте шестнадцатеричные байтовые коды в текстовое поле ввода.
  2. Выберите тип кодировки символов.
  3. Нажмите кнопку Преобразовать.

Как преобразовать шестнадцатеричный код в английский? 90 = 48 = символ ‘0’

Таблица преобразования шестнадцатеричного текста в ASCII

9
Шестнадцатеричный Двоичный ASCII
Символ
00 00000000 НУЛ
01 00000001 СОХ
02 00000010 СТХ
03 00000011 ЕТХ
04 00000100 ЕОТ
05 00000101 ENQ
06 00000110 ПОДТВЕРЖДЕНИЕ
07 00000111 бел
08 00001000 БС
09 00001001 НТ
00001010 ЛФ
00001011 ВТ
00001100 ФФ
0D 00001101 CR
00001110 СО
0F 00001111 СИ
10 00010000 ДЛЭ
11 00010001 ДС1
12 00010010 ДС2
13 00010011 ДС3
14 00010100 ДС4
15 00010101 НАК
16 00010110 СИН
17 00010111 ЭТБ
18 00011000 МОЖЕТ
19 00011001 ЭМ
00011010 SUB
00011011 ЕСК
00011100 ФС
00011101 ГС
00011110 РС
1F 00011111 США
20 00100000 Пробел
21 00100001 !
22 00100010 »
23 00100011 #
24 00100100 $
25 00100101 %
26 00100110 и
27 00100111
28 00101000 (
29 00101001 )
00101010 *
00101011 +
00101100 ,
2D 00101101
00101110 .
2F 00101111 /
30 00110000 0
31 00110001 1
32 00110010 2
33 00110011 3
34 00110100 4
35 00110101 5
36 00110110 6
37 00110111 7
38 00111000 8
39 00111001 9
00111010 :
00111011 ;
00111100 <
3D 00111101 =
00111110 >
3F 00111111 ?
40 01000000 @
41 01000001 А
42 01000010 Б
43 01000011 С
44 01000100 Д
45 01000101 Е
46 01000110 Ф
47 01000111 Г
48 01001000 Х
49 01001001 я
01001010 Дж
01001011 К
01001100 л
4D 01001101 М
01001110 Н
4F 01001111 О
50 01010000 Р
51 01010001 В
52 01010010 Р
53 01010011 С
54 01010100 Т
55 01010101 У
56 01010110 В
57 01010111 Вт
58 01011000 х
59 01011001 Д
5F 01011111 _
60 01100000 `
61 01100001 и
62 01100010 б
63 01100011 в
64 01100100 д
65 01100101 и
66 01100110 ф
67 01100111 г
68 01101000 ч
69 01101001 и
01101010 и
01101011 к
01101100 л
01101101 м
01101110 п
6F 01101111 или
70 01110000 р
71 01110001 к
72 01110010 р
73 01110011 с
74 01110100 т
75 01110101 и
76 01110110 против
77 01110111 с
78 01111000 х
79 01111001 г
01111010 г
01111011 {
01111100 |
01111101 }
01111110 ~
7F 01111111 ДЕЛ

 


См.

также
  • Преобразователь ASCII в двоичный код
  • Преобразователь ASCII в шестнадцатеричный код
  • Преобразователь двоичного кода в ASCII
  • ASCII, шестнадцатеричный, двоичный, десятичный, преобразователь Base64
  • Шестнадцатеричный/десятичный/восьмеричный/двоичный преобразователь
  • Декодер Base64
  • Кодер Base64
  • Таблица ASCII
  • символов Юникода

CHCP — Изменить кодовую страницу — Windows CMD

CHCP — Изменить кодовую страницу — Windows CMD — SS64.com
  • SS64
  • CMD
  • Практическое руководство

Изменить кодовую страницу активной консоли. Кодовая страница по умолчанию определяется языковым стандартом Windows.

 Синтаксис
      CHCP  кодовая_страница 

Ключ
     code_page  Номер кодовой страницы (например, 437) 

Эта команда редко требуется, так как большинство программ с графическим интерфейсом и PowerShell теперь поддерживают Unicode. При работе с символами за пределами диапазона ASCII от 0 до 127, например, с некоторыми символами коробки, выбор кодовой страницы будет определять набор отображаемых символов.

Программы, запускаемые после назначения новой кодовой страницы, будут использовать новую кодовую страницу, однако программы (кроме Cmd.exe), запущенные до назначения новой кодовой страницы, будут использовать исходную кодовую страницу.

Кодовая страница Страна/регион/язык  
437 США кодовая страница по умолчанию в США
850 Многоязычный (латиница I) кодовая страница по умолчанию в большинстве стран Европы
852 Славянский (латиница II)  
855 Кириллица (русская)  
857 Турецкий  
860 Португальский  
861 Исландский  
863 Канадско-французский  
865 Северный  
866 Русский  
869 Новогреческий  
1252 Западноевропейская латынь  
65000 UTF-7 *  
65001 UTF-8 *  

* Кодовые страницы 65000/1 закодированы как UTF-7/8, что позволяет работать с данными Unicode в 7-битных и 8-битных средах, однако

Даже если вы используете CHCP для запуска консоли Windows с кодовой страницей Unicode, многие приложения будут считать, что значение по умолчанию все еще применяется, например. Для Java требуется параметр-Dfile: java -Dfile.encoding=UTF-8

символов Unicode будут отображаться только в том случае, если текущий шрифт консоли содержит эти символы. Поэтому используйте шрифт TrueType, например Lucida Console, вместо растрового шрифта CMD по умолчанию.

Оболочка CMD (работает внутри консоли Windows)

CMD.exe поддерживает только две кодировки символов Ascii и Unicode (CMD/A и CMD/U)

Если вам нужна полная поддержка Unicode, используйте PowerShell. По-прежнему существует ОЧЕНЬ ограниченная поддержка юникода в оболочке CMD, конвейерная обработка, перенаправление и большинство команд по-прежнему поддерживают только ANSI. Работают только команды DIR, FOR/F и TYPE, они позволяют читать и записывать (UTF-16LE/BOM) файлы и имена файлов, но не более того.

Кодовые страницы

Количество поддерживаемых кодовых страниц было значительно увеличено в Windows 7.
Чтобы получить полный список кодовых страниц, поддерживаемых на вашем компьютере, запустите NLSINFO (Инструменты Resource Kit).

Файлы, сохраненные в Блокноте Windows, по умолчанию будут в формате ANSI, но также могут быть сохранены как Unicode UTF-16LE или UTF-8, а для файлов Unicode будут содержать спецификацию.
Спецификация сделает пакетный файл неисполняемым в Windows, поэтому пакетные файлы должны быть сохранены как ANSI, а не Unicode.

Примеры:

Просмотр текущей кодовой страницы:
ЧКП

Измените кодовую страницу на Unicode/65001:
ЧКП 65001

«Помните, что нет кода быстрее, чем отсутствие кода» ~ Руководство Taligent по разработке программ

Связанные команды:

[Недокументированное] CHCP — Форум.
Транскодирование в ANSI с помощью CHCP — Форум.
Полный список идентификаторов кодовых страниц — docs.microsoft.com
Коды локали Windows.
ТИП — может печатать файлы UTF-16LE со спецификацией вне зависимости от текущей кодовой страницы.
Что должен знать каждый разработчик программного обеспечения о Unicode и наборах символов ~ Джоэл Спольски.
Эквивалент PowerShell: [Console]::OutputEncoding, весь вводимый текст автоматически преобразуется в Unicode.
Эквивалентная команда bash (Linux): LANG — переменная среды категории локали и переменные LC_* для категории локали.


 

Copyright © 1999-2022 SS64.com
Some rights reserved

Transliterating non-ASCII characters with Python

25 : 'II' ,

     '\u0909' : 'U' , '\u090A' : 'UU' , '\u090F' : 'E' , '\u0910' : 'AI' ,

     '\u0913' : 'O ' , '\u0914' : 'AU' , '\u0915' : 'K' , '\u0916' : 'KH' ,

     '\ u0917' : 'G' , '\u0918' : 'GH' , '\u0919' : 'NG' , ' \u091A' : 'C' ,

     '\u091B' : 'CH' , '\u091C' : 'J' , '\u091D' : 'JH' , '\u091E' : 'NY' ,

     '\u091F' : 'TT' , '\u0920' : 'ТТХ' , '\u0921' : 'DD' , '\u0922' : 'DDH' ,

     '\u0923' : 'NN' , '\u0924' : 'T' , '\u0925' : 'TH' , '\u0926' : 'D' ,

     '\u0927' : 'DH' , '\u0928' : 'N' , '\u092A' : 'P' , '\u092B' : 'PH' ,

     '\u092C' : 'B' , '\u092D' : 'BH' , ' \u092E' : 'М' , '\u092F' : 'Y' ,

     '\u0930' : 'R' , '\u0932' : 'L' , '\u0933' : 'LL' , '\u0935' : 'V' ,

     '\u0936' : 'Ш' , '\ u0937' : 'SS' , '\u0938' : 'S' , '\u0939' : 'H' ,

     '\u093E' : 'AA' , '\u093F' : 'I' , '\u0940' : 'II' , '\ 0941' : 'У' ,

     '\u0942' : 'UU' , '\u0947' : 'E' , '\u0948' : ' AI' , '\u094B' : 'O' ,

     '\u094C' : 'AU' , '\u094D' : ' ', ' \u0902 ': ' n'}

   

def transliterate(text, translit_dict):

     new_word = ''

     for letter in text:

         new_letter = ''

         if letter in translit_dict:

             new_letter = translit_dict[letter]

         else :

             new_letter = letter

         new_word + = new_letter

     return new_word

   

text = "आप नीचे अपनी भाषा और इनपुट उपकरण चुनें और लिखना आरंभ करें"

   

transliterated_text = transliterate(text, devanagari_translit_dict)

print (transliterated_text)

devanagari_translit_dict = {

     '\u0905' : 'A' , ' \u0906' : 'AA' , '\u0907' : 'I' , 8'

The Cyrillic Charset Soup -- (c) Roman Czyborra

Cyrillic Charset Soup -- (c) Роман Чиборра

Несмотря на то, что ISO 8859 содержит стандартную кириллицу, существует множество других кириллических кодировок, используемых на компьютерах по всему миру. Эта страница пытается объяснить, почему это так, давая исторический обзор. Каждый набор символов иллюстрируется растровым изображением в формате GIF вместе с лежащей в его основе таблицей отображения Unicode и шрифтом BDF (X/Unix).

Кириллица

Братья и православные монахи-славяне Кирилл и Мефодий изобрели глаголицу в Македонии в 863 году как зашифрованный греческий алфавит с расширениями для особых славянских звуков. Их ученый Климент Охридский позже изобрел «кириллицу» как более удобочитаемую преобразованную глаголицу. На протяжении веков кириллица распространялась и трансформировалась, модернизировавшись в нынешнюю романизированную форму (Гражданку) при царе Петре Великом.

В настоящее время кириллица используется более чем в 70 языках, от восточноевропейских славянских языков русского (ru), украинского (uk), белорусского (be), болгарского (bg), сербского (sr) и македонского (mk) до центральноевропейского Алтайские языки Азии, такие как азербайджанский (az), туркменский (tk), курдский (ku), узбекский (uz), казахский (kk), киргизский (ky) и другие, такие как таджикский (tg) и монгольский (mn). В Вашей библиотеке может быть брошюра Кенесбая Мусаевича Мусаева "Алфавиты языков народов СССР", изданная в 1965.

Благодаря маленькому алфавиту без акцента русский и болгарский языки казались столь же подходящими для компьютерной обработки, как и английский.

ГОСТ-13052


Первый КОИ

Самая старая стандартизированная кириллическая компьютерная кодировка, которую я нашел (в Language Automation Worldwide Джона Кльюса), — это государственный стандарт ГОСТ 13052, 7-битная кодировка, которая кодирует буквы русского алфавита (что также удовлетворяет всем болгарским потребностям) поверх соответствующих Буквы ASCII противоположного регистра (для распознавания русского текста типа "РУССКИЙ ТЕКСТ" по его регистру при представлении в ASCII. Я буду называть это свойство соответствием KOI), пожертвовали точкой л, чтобы сократить алфавит до 32 букв, умещающихся в два строки и удалил редко необходимый ЗАГЛАВНЫЙ ЖЕСТКИЙ ЗНАК, чтобы предотвратить его столкновение с DELETE в позиции =7F или EOF=-1:

charset=koi-0 [TXT] [BDF]

Тот факт, что болгарский язык использует ЗАГЛАВНУЮ ТВЕРДЫЙ ЗНАК гораздо чаще, побудил некоторых болгар вместо этого кодировать свой твердый знак поверх ненужного русского YERY bI.

ГОСТ-19768-74


КОИ-7 и КОИ-8

В 1974 году ГОСТ опубликовал еще один государственный стандарт ГОСТ 19768-74 с двумя наборами символов, которые смешивали латинский и кириллический алфавиты в одном наборе, что сохранило исходную идею соответствия KOI:

Первым был еще один 7-битный набор символов с именем KOI-7 только с заглавными буквами:

charset=koi-7 [TXT] [BDF]


Оригинальный KOI-8

Вторым набором символов, определенным в ГОСТ 19768-74, был знаменитый 8-битный Код для Обмена и Обработки Информации (КОИ-8), который давал расшифровываемый текст ASCII при удалении старшего бита и по праву может называться кириллическим ASCII. Вот изображение его верхней части (G1):

charset=koi8-a [TXT] [BDF]


КОИ-8 с л

KOI-8 использовался на многих сетевых хостах Unix. Естественно, знак доллара ASCII $ стал использоваться вместо знака международной валюты ¤, хотя это было неполиткорректно. И пунктирное л (йо) было добавлено в колонке 3, так что такие слова, как ел (йео), больше не нужно было писать как ee без ударения.

Вернее, последний шаг не был сделан до тех пор, пока компания Demos не начала портировать поддержку кириллицы на Unix-системы для ПК, такие как Xenix, в конце 1980-х и разработала новую русскую кодовую страницу KOI-8, которая позже стала известна как KOI8-R с пунктирный л на своем месте от первого ДИС-6937-8/DIS-8859-5 и все нерусские буквы вычищены и заменены блочной графикой.

Но многие поставщики шрифтов реализовали только подмножество букв. Назовем его КОИ8-Б, это расширенная (большая) база КОИ-8, содержащая буквы (буквы), общие (баса) для всех современных вариантов КОИ-8:

кодировка = koi8-b [TXT] [BDF]


KOI-8 становится европейским


ISO-IR-111 или ECMA-кириллица

В середине 1980-х комитет ECMA, разрабатывавший стандарт ISO-8859Серия и ее кириллица ISO-8859-5 хотели сохранить совместимость с установленной базой десятилетнего стандарта КОИ-8 и изящно добавили недостающие украинские, белорусские, сербские и македонские буквы в неиспользуемые кодовые точки. Их проект был опубликован как стандарт ECMA-113 1-го издания в 1986 году и проект международного стандарта DIS-8859-5 в 1987 году и был зарегистрирован под номером 111 в Международном реестре наборов символов ISO для использования с управляющими последовательностями (ISO-2022). отсюда и название ISO-IR-111 и никнейм ECMA-Cyrillic:

charset=koi8-e [TXT] [BDF]


ГОСТ-19768-87


Все изменено

ISO-IR-111 так и не был принят в качестве окончательного ISO-8859-5, потому что тем временем ГОСТ вдохнул некоторую перестройку и объявил установленную базу и соответствие KOI менее важными и пересмотрел свой стандарт 19768 с 1974 в 1987 году в несовместимый новый ГОСТ 19768. -87, который переместил русские буквы на одну строку вверх и упорядочил их в порядке соответствия родного русского языка (АБВГД) вместо порядка соответствия КОИ (АБВДЭ):

кодировка=ГОСТ-19768-87 [TXT] [BDF]


ISO-8859-5 Кириллица

ECMA немедленно последовала за шагом ГОСТа по совету своих экспертов из Советского Союза, пересмотрев свое первое предложение и заменив свои символы ISO-IR-111 на кодовые позиции нового ГОСТ 19768-87. Разработчики не стали сортировать нерусские буквы в русский алфавит, чтобы обеспечить правильный словарный порядок для всех языков, как, например, в стандарте ISO 9 (Транслитерация кириллицы). Пересмотренное предложение было опубликовано как 2-е издание ECMA-113:19.88 (заменив исходный ECMA-113:1986, который стал жить дальше (популярен благодаря сочетанию нерусских букв с совместимостью с KOI-8) под псевдонимом ECMA-Cyrillic (хотя ECMA отсылает вас к ISO-8859-5 теперь ) или ISO-IR-111) и принят в ISO 8859 (несмотря на то, что Советский Союз проголосовал против знака доллара) как окончательный ISO-8859-5 (ISO-IR-144) в 1988 году. Многие люди, включая меня, считают, что это избавило бы нас от многих проблем, если бы исходный KOI8-совместимый DIS-8859-5:1987 также был выбран ISO-8859.-5:1988. Теперь у нас есть международный стандарт ISO-8859-5, который настолько нестандартен, что его почти никто не любит и не использует:

.

кодировка = ISO-8859-5 [TXT] [BDF]


Релком KOI8-R

После того, как в RFC 1341 (MIME) было предложено использовать кириллицу ISO-8859-5 в электронной почте, в то время как русский раздел Интернета (группы новостей relcom. *) все еще использовал KOI-8, Андрей Чернов отправился публиковать свой RFC 1489 Регистрация набора кириллических символов «KOI8-R» и установил KOI8-R в качестве стандарта де-факто в Интернете. KOI8-R, который позже был также пронумерован CP878, содержит пунктирный KOI8 плюс множество символов рисования прямоугольника:

кодировка = koi8-r [TXT] [BDF]

Андрей Чернов предлагает много практической информации о KOI8-R на своем сайте.

Украинский КОИ8-У

При всех этих кодировках есть особая украинская проблема. Украинцы читают букву GHE со штрихом вниз как хе. Для правильного написания гхе нужна украинская буква ГЕ С ВВЕРХОМ, которая была запрещена сталинскими чиновниками и восстановлена ​​в 1990 году.

Можно злоупотреблять GHE с акцентом (македонский GJE) в ISO-IR-111 или ISO-8859.-5 для представления GHE WITH UPTURN, но это не кажется предпочтительным вариантом. Украинцы, похоже, предпочитают кодировки, включающие настоящий GHE WITH UPTURN. GHE WITH UPTURN присутствует в CP1251 от Microsoft, KOI8-Unified от Fingertip и, конечно же, в Unicode. Тем не менее, эти варианты не казались достаточно близкими к KOI8-R, чтобы помешать украинским почтмейстерам разработать новый KOI8-U и опубликовать его как RFC2319 в апреле 1998 года. KOI8-U добавил только украинские буквы в позиции, совместимые с ISO-IR. -111 используется многими украинцами и сохранил как можно больше символов для рисования, потому что многие пользователи в этом районе все еще привязаны к MS-DOS. Из-за этого предпочтения в нем отсутствует короткое U с белорусским акцентом, а также сербская и македонская поддержка:

кодировка = koi8-u [TXT] [BDF]

Я предполагаю, что спецификация RFC2319 и RFC1489 для пули KOI8-R как математическая U+2219 BULLET OPERATOR является ошибкой, унаследованной от RFC1345, и должна быть исправлена ​​до U+2022 BULLET, как в собственных таблицах Келда Симонсена для IBM437 или KOI8-R. Вообще обратите внимание, что RFC1345 и все, что основано на нем, например GNU recode 3. 4.1, содержало ряд ошибок, особенно в области кириллицы: его isoir111 больше похож на cp1251, чем на koi8. RFC2319 содержит дополнительную ошибку, заключающуюся в том, что он кодирует CYRILLIC CAPITAL LETTER UKRAINIAN IE как U+0403 вместо U+0404.


КОИ8-унифицированный

Питер Кассетта из Fingertip Software, который также опубликовал хороший справочник кириллической кодировки для своих клиентов, уже разработал и предложил другое решение: его KOI8-Unified объединяет все буквы ISO-IR-111 с украинскими буквами KOI8-U и базовым KOI8. -R блокировать графику и некоторые популярные символы из кодовых страниц Windows 1251 и 1252, уравновешивая различные потребности совместимости:

кодировка = koi8-f [TXT] [BDF]

Вы можете использовать этот шрифт koi8-f для отображения всего текста koi8-*, и все буквы будут отображаться правильно, но некоторые менее используемые графические символы в koi8-r могут отображаться неправильно.


Microsoft CP1251

Другим важным игроком на этом поле является кодовая страница Microsoft WinCyrillic Windows CP1251, для которой Microsoft зарегистрировала метку «utf-8», которую не следует ошибочно принимать за предшественницу 13-го века сегодняшней Windows95 ® . По состоянию на декабрь 1997 года даже новый веб-сервер ГОСТа (Lotus Notes) приветствует вас с помощью charset=utf-8 - ГОСТ (Российский орган по стандартизации и орган-член ISO) больше не следует своим собственным стандартам! CP1251 имеет богатый репертуар в порядке, несовместимом ни с ISO-IR-111 (KOI8), ни с ISO-8859.-5:

кодировка=utf-8 [TXT] [BDF]


МакУкраинский

MacУкраинский (= MacCyrillic + GHE С ВВЕРХОМ) имеет те же буквы, но в другом порядке:

charset=MacУкраинский [TXT] [BDF]


Альтернативный вариант

Более старая популярная кодировка — вариант Альтернативный, поддерживаемый MS-DOS CP866:

кодировка = cp866 [TXT] [BDF]


Болгарский МИК

Болгарский ПК Prawec 16 и болгарская карта клавиатуры в Linux используют кодировку MIK:

charset=болгарский-мик [TXT] [BDF]


Юникод

Вам надоело это изобилие кодировок, среди которых нет лучших? Хотели бы вы иметь одну хорошую кодировку, которая способна заменить все вышеперечисленное и будет принята везде? Хотели бы вы также писать на неславянских кириллических языках? Вы получаете все это и многое другое с Unicode (ISO-10646), который просто кодирует все символы мира.

Это блок кириллицы U+0400 в Unicode. Это соответствует порядку ISO-8859-5:

кодировка = unicode-2-1 [TXT] [BDF]

Ольга Лапко утверждает на страницах 175 и 179 блестящего выпуска 17-2 TUG boat (Материалы ежегодной встречи группы пользователей TeX 1996 года в Дубне, Россия), что около 100 кириллических букв все еще отсутствуют в Unicode. Большинство из них, по-видимому, кодируются с комбинацией акцентов, а остальные могут быть добавлены с помощью процедуры, описанной в Приложении B. Отправка новых символов стандарта Unicode.

Каждая кириллическая буква кодируется двумя байтами в utf-8. Стандартная схема сжатия для Unicode (SCSU) позволяет уменьшить это до традиционного одного байта на букву.

Я все еще занят написанием своего Unicode-HOWTO для Linux. Я добавил кириллическую раскладку клавиатуры, которая злоупотребляет транслитерацией ISO 9 в качестве метода ввода в текстовый редактор Yudit Unicode для системы X Window.

Я рекомендую вам отправлять свои комментарии по адресу [email protected]. Я благодарю Кристофера Неханива, Андреаса Прилопа, Питера Кассетту <[email protected]>, Андрея Чернова, Келда Симонсена, Борислава Стоянова, Гюнчо Скордева, Илью Винарского, Диму Володина, Кристиана Вайсгербера, Алена Кесси и Юрия Демченко за ценную информацию, которую они предоставили. .

________
Роман Чиборра
URL: http://czyborra.com/
Электронная почта: [email protected]

МТК-2

Стандарт

Телекс

  

ITA-2 →

Русский Бодо

МТК-2 — вариант стандарта ИТА-2, который добавляет поддержку кириллицы. Это делается путем введения символа третьей смены «RUS». - два других - сдвиг буквы и цифры. Он заменяет код NULL (000·00) алфавита ITA-2, который больше не используется. доступный.

Обычный текст состоит из более чем 50 различных символов (26 букв, 10 цифр, 10 знаков препинания и несколько управляющих кодов). В ITA2 стандарт, 5 бит используются для представления символа, который означает, что можно создать только 32 различных кода (2 5 ). Поскольку этого недостаточно для обычного текста, большинство кодов употребляются трижды (т.е. имеют 3 разных значения) и специальные зарезервировано кодов используются для перестановки между наборами, известные как буквы (LTRS), цифры (FIGS) и кириллица (RUS).

Буквы кириллицы сопоставляются с их латиницей были возможны эквиваленты. Так как в кириллице больше символов, чем в латинице алфавит - обычно 33 вместо 26 - пять цифр были заменены кириллическими буквами. Русский символ «Ъ» отбрасывается, в то время как «Ë» заменяется на «E». Кириллица выбирается с прежним кодом NULL (000·00), и отменяется нажатием FIGS (110·11) или LTRS (111·11). CR, LF и SPACE являются общими для всех алфавитов.


LTRS-сдвиг представлен 111·11 (5 отверстий), так что его можно используется для протирания части бумажной ленты, не затрагивая остальные. Обычно бумажная лента начинается с двух символов LTRS, чтобы гарантировать что телетайп находится в режиме письма. Условно отверстия (биты) в ленте называются каналов или дорожек и лента показана так, как бы она проходила через ридер от вас.


Кодирование
литр Буквы (А-Я)
Рис Цифры (цифры и знаки препинания)
Рус русский, кириллица
Контроллер Управляющие символы
Шестнадцатеричный Шестнадцатеричный код
Корзина 1 Бинарный, Положение отверстий в бумажной ленте
# лтр Рис Русь Шестнадцатеричный Бин  
0 РУС 00 000·00 Кириллический сдвиг
1 Е 3 Е 01 000·01
2 НЧ 02 000·10 Перевод строки (новая строка)
3 А - А 03 000·11
4 СП 04 001·00 Пространство
5 С ' С 05 001·01
6 я 8 И 06 001·10
7 U 7 У 07 001·11
8 CR 08 010·00 Возврат каретки
9 Д Ч Д 09 010·01 Было: ENC (ты кто?)
10 р 4 Р 010·10
11 Дж Ю Й 010·11 Был: БЕЛЛ
12 Н , Ч 011·00
13 Ф Э Ф 0D 011·01 Был: восклицательный знак
14 С : Ц 011·10
15 К ( К 0F 011·11
16 Т 5 Т 10 100·00
17 Z + З 11 100·01
18 л ) Л 12 100·10
19 Вт 2 В 13 100·11
20 ЧАС Щ Х 14 101·00 Был: символ валюты
21 Д 6 Ы 15 101·01
22 п 0 П 16 101·10
23 Вопрос 1 я 17 101·11
24 О 9 О 18 110·00
25 Б ? Б 19 110·01
26 грамм Ш Г 110·10 Было: & или @
27 ФИГ 110·11 Цифры (Shift включен)
28 М . М 111·00
29 Икс / Ь 1D 111·01
30 В ; Ж 111·10
31 LTRS 1эт 11·111 Буквы (сдвиг выключен)
Другие стандарты
  • ITA-2 (Мюррей, Бодо)
  • ITA-5 (ASCII)
  • Фиалка М-125
Ссылки
  1. ECMA, Стандарт ECMA-10 для обмена данными на перфоленте
    2-е издание. июль 1970 года.
  2. Википедия, Перфолента
    Проверено в январе 2015 г.
  3. R&S Руководство по методам передачи
    4070.0711.02-03. Rohde & Schwarz, Мюнхен (Германия) 2014. стр. 327-329.
Дополнительная информация
  • ITA-2 стандарт
  • Ремкомплект бумажной ленты
  • Телетайп (телекс) на этом сайте
  • Другие стандарты
Все ссылки, выделенные красным цветом, в настоящее время недоступны.

Добавить комментарий

Ваш адрес email не будет опубликован.