Jump to content

Расширенный ASCII

(Перенаправлено из расширения ASCII )
Вывод программы ascii в Cygwin

Расширенный ASCII — это набор кодировок символов , включающий (большую часть) исходный набор символов ASCII из 96 плюс до 128 дополнительных символов. Не существует формального определения «расширенного ASCII», и даже использование этого термина иногда подвергается критике. [1] [2] [3] потому что его можно ошибочно истолковать как означающее, что Американский национальный институт стандартов (ANSI) обновил свой стандарт ANSI X3.4-1986 , включив в него больше символов, или что этот термин идентифицирует одну однозначную кодировку, но ни то, ни другое не соответствует действительности.

Стандарт ISO ISO 8859 был первым международным стандартом, формализовавшим (ограниченное) расширение набора символов ASCII: из многих языковых вариантов, которые он кодировал, ISO 8859-1 («ISO Latin 1»), который поддерживает большинство западноевропейских языков. наиболее известен на Западе. Существует множество других расширенных кодировок ASCII (более 220 кодовых страниц DOS и Windows ). EBCDIC («другой» код основного символа) также за десятилетия разработал множество расширенных вариантов (более 186 кодовых страниц EBCDIC).

Все современные операционные системы используют Юникод , который поддерживает тысячи символов. Однако расширенный ASCII остается важным в истории вычислений , а поддержка нескольких расширенных наборов символов ASCII требовала написания программного обеспечения таким образом, чтобы UTF-8 в дальнейшем было намного проще поддерживать метод кодирования .

ASCII был разработан в 1960-х годах для телетайпов и телеграфии , а также некоторых вычислений. Ранние телетайпы были электромеханическими, не имели микропроцессора и имели достаточно электромеханической памяти для работы. Они полностью обрабатывали один символ за раз, сразу после этого возвращаясь в состояние ожидания; это означало, что любые управляющие последовательности должны были иметь длину всего один символ, и, следовательно, для таких элементов управления необходимо было зарезервировать большое количество кодов. Это были ударные принтеры, созданные на основе пишущих машинок , и они могли печатать только фиксированный набор глифов, которые были отлиты в металлический элемент или элементы; это также способствовало использованию минимального набора символов.

Семибитный код ASCII улучшен по сравнению с предыдущими пяти- и шестибитными кодами. Из 2 7 = 128 кодов, 33 использовались для элементов управления и 95 тщательно отобранных печатных символов (94 глифа и один пробел), включая английский алфавит (прописные и строчные буквы), цифры, а также 31 знак препинания и символ: все символы на стандартная пишущая машинка США плюс несколько выбранных для задач программирования. Некоторые популярные периферийные устройства реализовали только подмножество из 64 печатных символов: Teletype Model 33 не мог передавать буквы от «a» до «z» или пять менее распространенных символов («`», «{», «|», «}» и «~»). и когда они получили такие символы, они вместо этого напечатали от «A» до «Z» ( все заглавные ) и пять других в основном похожих символов («@», «[», «\", «]» и «^»). .

Набор символов ASCII едва ли достаточно велик для использования в английском языке в США, в нем отсутствуют многие глифы, распространенные при наборе текста , и он слишком мал для универсального использования. Желательны, полезны или необходимы гораздо больше букв и символов для непосредственного представления букв алфавитов, отличных от английского, больше видов пунктуации и пробелов, больше математических операторов и символов (× ÷ ⋅ ≠ ≥ ≈ π и т. д.), используются некоторые уникальные символы. некоторыми языками программирования, идеограммами , логограммами , символами для рисования прямоугольников и т. д.

Самой большой проблемой для пользователей компьютеров во всем мире были другие алфавиты. Английский алфавит ASCII почти соответствует европейским языкам, если буквы с диакритическими знаками заменяются буквами без акцентов или двухсимвольными приближениями, такими как ss вместо ß . Модифицированные варианты 7-битного ASCII появились быстро, заменяя некоторые менее используемые символы весьма востребованными символами или буквами, например, замена «#» на «£» на британских телетайпах, «\" на «¥» в Японии или «₩» в Корее и т. д. В результате получилось не менее 29 вариантов комплектов. 12 кодовых точек были изменены хотя бы одним модифицированным набором, в результате чего осталось только 82 «инвариантных» кода . Однако языки программирования придали значение многим замененным символам, были разработаны обходные пути, такие как трехсимвольные последовательности C «??<» и «??>» для обозначения «{» и «}». [4] Языки с разными базовыми алфавитами могут использовать транслитерацию, например, замену всех латинских букв наиболее близкими к кириллице буквами (в результате получается странный, но несколько читаемый текст, когда английский печатается кириллицей или наоборот). Также были разработаны схемы, позволяющие напечатать две буквы (часто с пробелом между ними), чтобы получить буквы с акцентом. Пользователям не нравились ни один из этих компромиссов, и они часто плохо поддерживались. [ нужна ссылка ]

Когда в 1970-х годах компьютеры и периферийные устройства стали стандартизировать восьмибитные байты , стало очевидно, что компьютеры и программное обеспечение могут обрабатывать текст, использующий наборы из 256 символов, практически без дополнительных затрат на программирование и дополнительных затрат на хранение. (Предполагая, что неиспользуемый 8-й бит каждого байта не использовался повторно каким-либо образом, например, при проверке ошибок, логических полях или упаковке 8 символов в 7 байтов.) Это позволило бы использовать ASCII без изменений и предоставить еще 128 символов. Многие производители разработали 8-битные наборы символов, состоящие из ASCII плюс до 128 неиспользуемых кодов: кодировки, охватывающие все наиболее используемые западноевропейские (и латиноамериканские) языки, такие как датский, голландский, французский, немецкий, португальский, испанский, Шведский и многое другое можно сделать.

128 дополнительных символов по-прежнему недостаточно для покрытия всех целей, всех языков или даже всех европейских языков, поэтому появление множества собственных и национальных 8-битных наборов символов на основе ASCII было неизбежным. Перевод между этими наборами ( транскодирование ) сложен (особенно, если символ отсутствует в обоих наборах); и часто не выполнялось, создавая моджибаке (получитаемый результирующий текст, часто пользователи учились декодировать его вручную). В конечном итоге в конце 1990-х годов были попытки сотрудничества или координации со стороны национальных и международных органов по стандартизации, но наборы, принадлежащие производителям, оставались самыми популярными, прежде всего потому, что международные стандарты исключали символы, популярные в определенных культурах или характерные для них.

Собственные расширения

[ редактировать ]

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

Hewlett-Packard начала добавлять европейские символы в свой расширенный 7-битный/8-битный набор символов ASCII HP Roman Extension примерно в 1978/1979 году для использования на своих рабочих станциях, терминалах и принтерах. Позже это превратилось в широко используемые обычные 8-битные наборы символов HP Roman-8 и HP Roman-9 (а также ряд их вариантов).

Atari и Commodore Домашние компьютеры добавили к своему нестандартному ASCII множество графических символов (соответственно ATASCII и PETSCII , основанные на исходном стандарте ASCII 1963 года).

для В набор символов TRS-80 домашнего компьютера TRS-80 добавлено 64 полуграфических символа (от 0x80 до 0xBF), которые реализовывали блочную графику с низким разрешением. (Каждый блочный графический символ отображается в виде сетки пикселей 2x3, причем каждый пиксель блока эффективно контролируется одним из младших 6 бит.) [5]

IBM представила восьмибитные расширенные коды ASCII на оригинальном IBM PC , а затем выпустила вариации для разных языков и культур. IBM назвала такие наборы символов кодовыми страницами и присвоила номера как тем, которые они сами изобрели, так и многим из них, изобретенным и используемым другими производителями. Соответственно, наборы символов очень часто обозначаются номером кодовой страницы IBM. В кодовых страницах, совместимых с ASCII, нижние 128 символов сохраняют свои стандартные значения ASCII, а в верхних 128 символах могут быть доступны различные страницы (или наборы символов). DOS Например, компьютеры , созданные для рынка Северной Америки, использовали кодовую страницу 437 , которая включала символы с диакритическими знаками, необходимые для французского, немецкого и некоторых других европейских языков, а также некоторые графические символы для рисования линий. Больший набор символов позволил создавать документы на комбинации таких языков, как английский и французский (хотя французские компьютеры обычно используют кодовую страницу 850 ), но не, например, на английском и французском языках. Греческий (для которого требовалась кодовая страница 737 ).

Apple Computer свои собственные восьмибитные расширенные коды ASCII представила в Mac OS , такие как Mac OS Roman . Apple LaserWriter также представил набор символов Postscript .

Digital Equipment Corporation (DEC) разработала многонациональный набор символов , в котором было меньше символов, но больше буквенных и диакритических комбинаций. Его поддерживали DEC VT220 и более поздние версии компьютерные терминалы . Позже это стало основой для других наборов символов, таких как международный набор символов Lotus (LICS), ECMA-94 и ISO 8859-1 .

В 1987 году Международная организация по стандартизации (ISO) опубликовала набор стандартов для восьмибитных расширений ASCII, ISO 8859. Самым популярным из них был ISO 8859-1 (также называемый «ISO Latin 1»), который содержит символы, достаточные для наиболее распространенные западноевропейские языки. Другие стандарты группы 8859 включали ISO 8859-2 для восточноевропейских языков, использующих латиницу , ISO 8859-5 для языков, использующих кириллицу , и другие.

Одним из примечательных отличий стандартов ISO от некоторых расширенных ASCII, специфичных для конкретного поставщика, является то, что 32 позиции символов от 80 16 до 9F 16 , которые соответствуют управляющим символам ASCII с «установленным» старшим битом, зарезервированы ISO для контролируют использование и не используются для печатных символов (они также зарезервированы в Юникоде). [6] ). Это соглашение почти повсеместно игнорировалось другими расширенными наборами ASCII.

Microsoft намеревалась использовать стандарты ISO 8859 в Windows. [ нужна ссылка ] но вскоре заменил неиспользуемые управляющие символы C1 дополнительными символами, создав собственный набор символов Windows-1252, который иногда ошибочно маркируют как ANSI . Добавленные символы включали «фигурные» кавычки и другие типографские элементы, такие как длинное тире , знак евро и буквы, отсутствующие во французском и финском языках. Он стал наиболее часто используемым расширенным ASCII в мире и часто используется в Интернете, даже если указан 8859-1. [7] [8]

Путаница в наборе символов

[ редактировать ]

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

Программное обеспечение может использовать фиксированный выбор кодировки или выбирать из палитры кодировок по умолчанию, проверять национальные и языковые настройки компьютера, читать объявление в тексте, анализировать текст , запрашивать у пользователя, разрешать пользователю выбирать или переопределять, и/или по умолчанию используется последний выбор. Когда текст передается между компьютерами, использующими разные операционные системы, программное обеспечение и кодировки, применение неправильной кодировки может быть обычным явлением.

Поскольку полный английский алфавит и наиболее часто используемые символы английского языка включены в семибитные кодовые точки ASCII, которые являются общими для всех кодировок (даже для большинства проприетарных кодировок), англоязычный текст менее повреждается при его интерпретации с помощью неправильная кодировка, но текст на других языках может отображаться как моджибаке (полная чушь). Поскольку во многих интернет-стандартах используется ISO 8859-1, а Microsoft Windows (с расширенной кодовой страницей 1252 ISO 8859-1) сегодня является доминирующей операционной системой для персональных компьютеров, [ нужна ссылка ] [ когда? ] необъявленное использование ISO 8859-1 является вполне обычным явлением, и его обычно можно предполагать, если нет указаний на иное.

Многие протоколы связи , особенно SMTP и HTTP , требуют, чтобы кодировка содержимого была помечена идентификаторами набора символов, присвоенными IANA .

См. также

[ редактировать ]
  1. ^ Бенджамин Рифеншталь (26 февраля 2001 г.). «Re: Информация Cygwin Termcap, включающая расширенные символы ASCII» . cygwin (список рассылки). Архивировано из оригинала 11 июля 2013 года . Проверено 2 декабря 2012 г.
  2. ^ С. Волицкий (23 марта 2012 г.). «Печать расширенных кодов ASCII в sql*plus» . Проверено 17 мая 2022 г.
  3. ^ Марк Дж. Рид (28 марта 2004 г.). "vim: как набрать расширенный ascii?" . Группа новостей : comp.editors . Проверено 17 мая 2022 г.
  4. ^ «2.2.1.1 Триграфические последовательности» . Обоснование американского национального стандарта для информационных систем — Язык программирования — C. Архивировано из оригинала 29 сентября 2018 г. Проверено 8 февраля 2019 г.
  5. ^ Гольдкланг, Ира (2015). «Графические советы и рекомендации» . Архивировано из оригинала 29 июля 2017 г. Проверено 29 июля 2017 г.
  6. ^ «Элементы управления C1 и дополнение Latin-1 | Диапазон: 0080–00FF» (PDF) . Стандарт Юникод, версия 15.1 . Консорциум Юникод .
  7. ^ «Наборы символов HTML» . Школы W3 . Когда браузер обнаруживает ISO-8859-1, он обычно использует по умолчанию Windows-1252, поскольку в Windows-1252 имеется еще 32 международных символа.
  8. ^ «Кодировка» . ЧТОРГ . 27 января 2015 г. сек. 5.2 Имена и метки. Архивировано из оригинала 4 февраля 2015 года . Проверено 4 февраля 2015 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 024e71e5281ebfca60513f10437b9efb__1719002340
URL1:https://arc.ask3.ru/arc/aa/02/fb/024e71e5281ebfca60513f10437b9efb.html
Заголовок, (Title) документа по адресу, URL1:
Extended ASCII - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)