ISO/IEC 8859 — это совместная серия стандартов ISO и IEC для 8-битных кодировок символов . Серия стандартов состоит из пронумерованных частей, таких как ISO/IEC 8859-1 , ISO/IEC 8859-2 и т. д. Всего 15 частей, не считая устаревшего ISO/IEC 8859-12 . [1] Рабочая группа ISO, поддерживающая эту серию стандартов, была расформирована.
Части 1, 2, 3 и 4 ISO/IEC 8859 изначально были международным стандартом Ecma ECMA-94 .
Хотя битовых комбинаций 95 печатных символов ASCII достаточно для обмена информацией на современном английском языке , большинству других языков, использующих латинский алфавит, требуются дополнительные символы, не охватываемые ASCII. ISO/IEC 8859 стремился решить эту проблему, используя восьмой бит в 8-битном байте , чтобы обеспечить позиции для еще 96 печатных символов. Ранние кодировки были ограничены 7 битами из-за ограничений некоторых протоколов передачи данных и частично по историческим причинам. Однако требовалось больше символов, чем могло поместиться в одну 8-битную кодировку символов, поэтому было разработано несколько сопоставлений, в том числе как минимум десять, подходящих для различных латинских алфавитов.
Части стандарта ISO/IEC 8859 определяют только печатные символы, хотя они явно определяют диапазоны байтов 0x00–1F и 0x7F–9F как «комбинации, которые не представляют графические символы» (т. е. которые зарезервированы для использования в качестве управляющих символов ) в соответствии с с ISO/IEC 4873 ; они были разработаны для использования в сочетании с отдельным стандартом, определяющим функции управления, связанные с этими байтами, например ISO 6429 или ISO 6630 . [2] С этой целью в серию кодировок, зарегистрированных в IANA , добавлен набор элементов управления C0 (управляющие символы, сопоставленные с байтами от 0 до 31) из ISO 646 и набор элементов управления C1 (управляющие символы, сопоставленные с байтами с 128 по 159) из ISO 6429. , в результате чего получаются полные 8-битные карты символов, которым назначено большинство, если не все, байты. Эти наборы имеют ISO-8859- n в качестве предпочтительного имени MIME или, в случаях, когда предпочтительное имя MIME не указано, их каноническое имя. Многие люди используют термины ISO/IEC 8859- n и ISO-8859- n как взаимозаменяемые. В ISO/IEC 8859-11 такая кодировка не была назначена, предположительно потому, что она была почти идентична TIS 620 .
Стандарт ISO/IEC 8859 предназначен для надежного обмена информацией, а не типографики ; в стандарте отсутствуют символы, необходимые для высококачественной типографики, такие как необязательные лигатуры, фигурные кавычки, тире и т. д. В результате в высококачественных системах набора текста часто используются собственные или уникальные расширения поверх стандартов ASCII и ISO/IEC 8859. или вместо этого используйте Юникод .
Неточное правило, основанное на практическом опыте, гласит, что если символ или символ еще не был частью широко используемого набора символов для обработки данных, а также обычно не присутствовал на клавиатурах пишущих машинок для национального языка, он не проникал. Отсюда и направленность Были включены двойные кавычки « и » , используемые для некоторых европейских языков, но не были включены направляющие двойные кавычки « и », используемые для английского и некоторых других языков.
Во французском языке не было лигатур œ и Œ , потому что их можно было напечатать как «oe». Аналогично, Ÿ , необходимый для текста, написанного заглавными буквами, также был удален. [3] [4] [5] Хотя и под другими кодовыми точками, эти три символа были позже повторно введены в ISO/IEC 8859-15 в 1999 году, который также ввел новый символ знака евро €. Точно так же в голландском языке не было букв ij и IJ , потому что носители голландского языка привыкли вместо этого печатать их как две буквы.
В румынском языке изначально не было букв ş / ş и ş / ts ( с запятой ), потому что эти буквы изначально были унифицированы с Ş / ş и Ţ / ţ ( с седилем ) Консорциумом Unicode , считая фигуры с запятой внизу варианты глифов фигур с седиллой. Однако буквы с явной запятой ниже были позже добавлены в стандарт Unicode, а также в ISO/IEC 8859-16 .
Большинство кодировок ISO/IEC 8859 содержат диакритические знаки, необходимые для различных европейских языков, использующих латинский алфавит. Другие предоставляют нелатинские алфавиты: греческий , кириллица , иврит , арабский и тайский . Большинство кодировок содержат только пробелы , хотя тайские, ивритские и арабские кодировки также содержат комбинационные символы .
Стандарт не предусматривает использования письменностей восточноазиатских языков ( CJK ), поскольку их системы идеографического письма требуют многих тысяч кодовых точек. Несмотря на то, что вьетнамский язык использует символы на основе латиницы, он также не вписывается в 96 позиций (без использования комбинированных диакритических знаков, таких как в Windows-1258 ). Каждый японский слоговой алфавит (хирагана или катакана, см. Кана ) подойдет, как в JIS X 0201 , но, как и некоторые другие алфавиты мира, они не кодируются в системе ISO/IEC 8859.
ISO/IEC 8859 разделен на следующие части:
Каждая часть ISO/IEC 8859 предназначена для поддержки языков, которые часто заимствуются друг у друга, поэтому символы, необходимые для каждого языка, обычно размещаются в одной части. Однако есть некоторые символы и языковые комбинации, которые невозможно реализовать без транскрипции. Были предприняты усилия, чтобы сделать преобразования как можно более плавными. Например, в немецком языке все семь специальных символов находятся на одних и тех же позициях во всех латинских вариантах (1–4, 9, 10, 13–16), а во многих позициях символы различаются только диакритическими знаками между наборами. В частности, варианты 1–4 были разработаны совместно и обладают тем свойством, что каждый закодированный символ либо появляется в заданной позиции, либо не появляется вообще.
неназначенные кодовые точки.
новые дополнения в версиях ISO/IEC 8859-7:2003 и ISO/IEC 8859-8:1999 , ранее не назначенные.
С 1991 года Консорциум Unicode работает с ISO и IEC над совместной разработкой стандарта Unicode и ISO/IEC 10646: Универсальный набор символов (UCS). В новых редакциях ISO/IEC 8859 символы выражаются через имена Unicode/UCS и обозначение U+nnnn , в результате чего каждая часть ISO/IEC 8859 представляет собой схему кодирования символов Unicode/UCS, которая отображает очень небольшое подмножество символов. UCS в отдельные 8-битные байты. Первые 256 символов в Юникоде и UCS идентичны символам в ISO/IEC-8859-1 ( Latin-1 ).
Однобайтовые наборы символов, включая части ISO/IEC 8859 и их производные, пользовались предпочтением на протяжении 1990-х годов, поскольку имели преимущества, заключающиеся в том, что они хорошо известны и их легче реализовать в программном обеспечении: уравнение одного байта к одному символу является простым и адекватным. для большинства одноязычных приложений, и здесь нет сочетающихся символов или вариантов форм. По мере того как операционные системы с поддержкой Unicode стали более распространенными, ISO/IEC 8859 и другие устаревшие кодировки стали менее популярными. Хотя остатки ISO 8859 и модели однобайтовых символов остаются укоренившимися во многих операционных системах, языках программирования, системах хранения данных, сетевых приложениях, аппаратном обеспечении дисплея и прикладном программном обеспечении для конечных пользователей, большинство современных компьютерных приложений используют Unicode внутри себя и полагаются на преобразование. таблицы для сопоставления с другими кодировками и обратно, когда это необходимо.
Стандарт ISO/IEC 8859 поддерживался Объединенным техническим комитетом ISO/IEC 1, подкомитетом 2, рабочей группой 3 (ISO/IEC JTC 1/SC 2/WG 3). В июне 2004 года WG 3 была распущена, а обязанности по техническому обслуживанию были переданы SC 2 . Стандарт в настоящее время не обновляется, поскольку единственная оставшаяся рабочая группа Подкомитета , WG 2, концентрируется на разработке универсального набора кодированных символов Unicode .
Стандарт кодирования WHATWG , определяющий кодировки символов, разрешенные в HTML5 , которые должны поддерживать совместимые браузеры, [7] включает в себя большую часть ISO/IEC 8859, [8] за исключением частей 1, 9 и 11, которые вместо этого интерпретируются как Windows- 1252 , Windows-1254 и Windows-874 соответственно. [9] Авторам новых страниц и разработчикам новых протоколов рекомендуется использовать вместо этого UTF-8 . [9]
Этот набор закодированных графических символов можно рассматривать как версию 8-битного кода в соответствии с ISO/IEC 2022 или ISO/IEC 4873 на уровне 1. […] Заштрихованные позиции в кодовой таблице соответствуют битовым комбинациям, которые не представляют собой графические символы.
Их использование выходит за рамки ISO/IEC 8859;
это указано в других международных стандартах, например ISO/IEC 6429.
{{citation}}
: CS1 maint: числовые имена: список авторов ( ссылка )[…] Согласно городской легенде, французский делегат заболел в тот день, когда стандарт был вынесен на голосование, и ему пришлось попросить своего бельгийского коллегу выступать в качестве его доверенного лица. На самом деле французский делегат был инженером, который был убежден, что эта лигатура бесполезна, а представители Швейцарии и Германии настойчиво настаивали на том, чтобы математические символы × и ÷ были включены в те позиции, где логически стояли бы Œ и œ . […]
Пользовательские агенты должны поддерживать кодировки, определенные в стандарте кодирования WHATWG, включая, помимо прочего, […]