Набор символов Windows для латинского алфавита
Windows-1252 или CP-1252 ( кодовая страница 1252) — это однобайтовая кодировка символов латинского алфавита , которая по умолчанию использовалась в Microsoft Windows для английского и многих романских и германских языков, включая испанский, португальский, французский и немецкий (хотя пропущена заглавная буква ẞ ). Эта схема кодирования символов используется в Северной и Южной Америке , Западной Европе , Океании и большей части Африки .
Это наиболее часто используемая кодировка однобайтовых символов в мире. По состоянию на декабрь 2023 года [обновлять]1,3% [2] всех веб-сайтов декларируют ISO 8859-1 , который всеми современными браузерами рассматривается как Windows-1252 (как того требует стандарт HTML5 [3] ), плюс 0,3% всех веб-сайтов, заявленных об использовании. Windows-1252, [2] [4] всего 1,6% (и только 14 из 1000 лучших веб-сайтов [5] ).
В зависимости от страны или языка в 2023 году использование (по крайней мере, на веб-сайтах) может быть намного выше, чем в среднем по миру, например (включая Windows-1252), в Бразилии, согласно использованию веб-сайтов, использование составляет 3,8%, [6] и в Германии - 3,2%. [7] [8] (это суммы деклараций ISO-8859-1 и CP-1252).
Подробности
Эта кодировка символов является расширенным набором ISO 8859-1 с точки зрения печатных символов, но отличается от ISO-8859-1 IANA добавлением дополнительных символов в диапазоне от 0x80 до 0x9F ( шестнадцатеричный ) (стандарты ISO резервируют этот диапазон для управляющих символов). ). В число примечательных дополнительных символов входят фигурные кавычки и все печатные символы из ISO 8859-15 . В Windows он известен под номером кодовой страницы 1252 и одобренным IANA именем «windows-1252».
Начиная с 1990-х годов, многие продукты Microsoft , которые могли создавать HTML, включали эксклюзивные символы Windows-1252, но имели кодировку ISO -8859-1, ASCII или необъявленную. [ нужна цитация ] Символы, эксклюзивные для Windows-1252, часто неправильно отображались в операционных системах, отличных от Windows (часто в виде вопросительных знаков, пробелов или прямоугольников). [9] [10] В частности, типографские кавычки — фигурные варианты стандартных прямых апострофов и кавычек в US-ASCII — часто использовались в файлах, созданных в приложениях Windows, таких как Microsoft Word, благодаря функции интеллектуальных кавычек , которая может автоматически преобразовывать прямые апострофы и кавычки в фигурные варианты. [11] Чтобы исправить это, к 2000 году большинство веб-браузеров и почтовых клиентов обрабатывали кодировки ISO-8859-1 и US-ASCII как Windows-1252 — такое поведение теперь требуется спецификацией HTML5 . [3] Необъявленные кодировки в HTML также считаются Windows-1252. [12]
Исторически фраза «Кодовая страница ANSI» использовалась в Windows для обозначения кодировок, отличных от DOS; предполагалось, что большинство из них будут стандартами ANSI , такими как ISO-8859-1 . Несмотря на то, что Windows-1252 была первой и, безусловно, самой популярной кодовой страницей, названной так на языке Microsoft Windows, эта кодовая страница никогда не была стандартом ANSI. Microsoft объясняет: «Термин ANSI, используемый для обозначения кодовых страниц Windows, является исторической справкой, но в настоящее время это неправильное употребление, которое продолжает сохраняться в сообществе Windows». [13]
В пакетах LaTeX CP-1252 называется «ansinew».
IBM использует кодовую страницу 1252 ( CCSID 1252 и расширенный CCSID 5348 со знаком евро ) для Windows-1252. [14] [15] [16]
Oracle называет его «WE8MSWIN1252» . [17]
Макет кодовой страницы
В следующей таблице показана Windows-1252. Отличия от ISO-8859-1 включают номер кодовой точки Unicode под символом, основанный на сопоставлении Unicode.org Windows-1252 с «наилучшим соответствием». Всплывающая подсказка, обычно доступная только при наведении курсора непосредственно слева от символа, показывает имя кодовой точки Юникода и десятичный код Alt .
Согласно информации на сайтах Microsoft и Консорциума Unicode, позиции 81, 8D, 8F, 90 и 9D не используются; однако API Windows MultiByteToWideChar
сопоставляет их с соответствующими управляющими кодами C1 . Картирование «наилучшего соответствия» также документирует это поведение. [18]
История
- Первая версия [ когда? ] кодовой страницы 1252, используемой в Microsoft Windows 1.0, не были определены позиции D7 и F7. Все символы в диапазонах 80–9F также были неопределенными.
- Во второй версии, используемой в Microsoft Windows 2.0, были определены позиции D7, F7, 91 и 92.
- В третьей версии, используемой начиная с Microsoft Windows 3.1, были определены все современные позиции, за исключением знака евро и пары символов Z с кароном .
- Последняя версия, указанная выше, дебютировала в Microsoft Windows 98 и была портирована на более старые версии Windows с обновлением символа евро.
Расширения OS/2
Операционная система OS /2 поддерживает кодировку по имени кодовой страницы 1004 ( CCSID 1004) или «Windows Extended». [23] [24] В основном это соответствует кодовой странице 1252, за исключением некоторых управляющих символов C0, заменяемых диакритическими символами.
Расширения MSDOS [редко]
Существует редко используемая, но полезная расширенная графическая кодовая страница 1252, где коды от 0x00 до 0x1f позволяют рисовать прямоугольники, используемые в таких приложениях, как MSDOS Edit и Codeview. Одним из приложений, использующих эту кодовую страницу, была утилита образа диска установки/восстановления корпорации Intel, выпущенная в середине/конце 1995 года. Эти программы были написаны для компьютеров с программой пользовательского тестирования P6 (пример в США [29] ). В то время он использовался исключительно в регионе EMEA (Европа, Ближний Восток и Африка). Со временем программы были изменены на использование кодовой страницы 850 .
Вариант ОС Palm
Каждое устройство Palm OS поддерживает один язык и одну кодировку символов, в зависимости от его локали. [30]
Для таких языков, как английский и французский, Palm OS использует специальную кодировку символов на основе Windows-1252. Для японского языка вместо этого используется многобайтовая кодировка символов на основе кодовой страницы 932 . Независимо от языкового стандарта системы, все символы в диапазоне от 0x00 до 0x7F гарантированно будут одинаковыми, за исключением 0x5D, который является знаком иены на японском языке и обратной косой чертой для всех остальных. [30]
В Palm OS 3.1 было внесено несколько изменений в кодировку символов, чтобы лучше соответствовать Windows-1252: [31]
- Специальные глифы Palm OS «ярлык» (0x9D) и «командный штрих» (0x9E) были скопированы в 0x16 и 0x17, чтобы гарантировать, что они находятся в диапазоне, гарантированно согласованном между языковыми стандартами. [31] Начиная с Palm OS 3.3, 0x16 и 0x17 являются единственными кодовыми точками для этих символов, [32] 0x9D и 0x9E остаются неопределенными. [33]
- Числовой пробел (0x80) и горизонтальное многоточие (0x85) были скопированы в 0x19 и 0x18 (соответственно), чтобы гарантировать, что они находятся в диапазоне, гарантированно согласованном между языковыми стандартами. [31] [32]
- Знак евро был добавлен по адресу 0x80, заменив то, что раньше было числовым пространством. [32]
- Масти игральных карт были скопированы в шрифт «Символ 9», [31] , хотя их исходные коды остаются действительными. [32] [33]
Ниже приведен вариант Windows-1252, используемый Palm OS 3.3 и более поздних версий для английского и некоторых других языков. [32] Python присваивает ему palmos
ярлык, описывая его как кодировку для Palm OS 3.5. [34] [35] Отличия от Windows-1252 имеют код Unicode.
- ^ До Palm OS 3.1 символом в кодовой точке 0x80 был U+2007 ЧИСЛОВОЙ ПРОБЕЛ; начиная с Palm OS 3.1, 0x80 — это знак евро, а 0x19 — это U+2007 ЦИФРОВОЙ ПРОБЕЛ. [32]
- ^ Начиная с Palm OS 3.1 этот символ также дублируется по адресу 0x18. [31] [32]
- ^ До версии Palm OS 3.3 этот код представлял собой эксклюзивный для Palm OS символ «ярлык»; начиная с Palm OS 3.3 этот код не определен. [31] [32]
- ^ До версии Palm OS 3.3 этот код представлял собой эксклюзивный для Palm OS символ «командный удар»; начиная с Palm OS 3.3 этот код не определен. [31] [32]
Смотрите также
Рекомендации
- ^ Наборы символов, Управление по присвоению номеров в Интернете (IANA), 12 декабря 2018 г.
- ^ ab «Исторические тенденции в статистике использования кодировок символов для веб-сайтов, декабрь 2023 г.» . w3techs.com . Проверено 1 декабря 2023 г.
- ^ аб «Кодировка». ЧТОРГ . 27 января 2015 г. сек. 5.2 Имена и метки. Архивировано из оригинала 4 февраля 2015 года . Проверено 4 февраля 2015 г.
- ^ «Часто задаваемые вопросы» . w3techs.com .
- ^ «Обзор использования кодировок символов с разбивкой по рейтингу» . w3techs.com . Проверено 1 декабря 2023 г.
- ^ «Распространение кодировок символов среди веб-сайтов, использующих Бразилию» . w3techs.com . Проверено 1 декабря 2023 г.
- ^ «Распространение кодировок символов среди веб-сайтов, использующих .de». w3techs.com . Проверено 1 декабря 2023 г.
- ^ «Распространение кодировок символов среди веб-сайтов, использующих немецкий язык» . w3techs.com . Проверено 16 января 2023 г.
- ^ Тексин, Техас «Сравнение символов в Windows-1252, ISO-8859-1, ISO-8859-15». I18nQA.com .
- ^ ван Эмден, Ева (28 января 2011 г.). «Как сделать цитаты типографов в HTML». vancouvereditor.com . Проверено 7 января 2024 г.
Если вы используете цитаты типографов, не указав правильную кодировку символов для вашего HTML-файла, некоторые из ваших зрителей увидят вопросительные знаки, прямоугольники или другие сумасшедшие символы вместо красивых фигурных кавычек, которые вы хотели им видеть.
- ^ «Умные кавычки в Word». Поддержка Майкрософт . Майкрософт . Проверено 7 января 2024 г.
- ^ «Веб-поиск NetWare: понимание кодировок наборов символов» . Документация Новелл . Новелл.
если документ не содержит значения кодировки CHARSET, кодировкой по умолчанию для документов HTML является ISO-8859-1, также известная как Latin1. Кодировкой по умолчанию для текстовых документов является US-ASCII.
- ↑ Виссинк, Кэти (5 апреля 2002 г.). «Юникод и Windows XP» (PDF) . Майкрософт . п. 1. Архивировано из оригинала (PDF) 4 февраля 2015 года . Проверено 4 февраля 2015 г.
- ^ «Информационный документ с кодовой страницей 1252» . ИБМ. 30 сентября 1997 г. Архивировано из оригинала 3 марта 2016 г.
- ^ «Информационный документ CCSID 1252» . ИБМ. Архивировано из оригинала 26 марта 2016 г.
- ^ «Информационный документ CCSID 5348» . ИБМ. Архивировано из оригинала 29 ноября 2014 г.
- ^ «Руководство по установке клиента базы данных» . Оракул . Проверено 14 февраля 2021 г.
- ^ ab «Отображения Unicode для Windows-1252 с «наилучшим соответствием»» . Юникод . Архивировано из оригинала 4 февраля 2015 года . Проверено 4 февраля 2015 г.
- ^ Кодовая страница 01252 (PDF) , IBM, 1998 г., заархивировано (PDF) из оригинала 27 октября 2023 г.
- ^ Кодовая страница (CPGID) 01252 (txt) , IBM, 1998 г., заархивировано из оригинала 8 апреля 2023 г.
- ^ Международные компоненты для Unicode (ICU), ibm-1252_P100-2000.ucm, 3 декабря 2002 г.
- ^ Международные компоненты для Unicode (ICU), ibm-5348_P100-1997.ucm, 3 декабря 2002 г.
- ^ «Информационный документ с кодовой страницей 1004» . Архивировано из оригинала 25 июня 2015 г.
- ^ «Информационный документ CCSID 1004» . Архивировано из оригинала 26 марта 2016 г.
- ^ «Кодовая страница 01004» (PDF) . ИБМ . Архивировано из оригинала (PDF) 8 июля 2015 г.(версия основана на версии Windows-1252 для Windows 3.1)
- ^ Кодовая страница CPGID 01004 (pdf) (PDF) , IBM
- ^ Кодовая страница CPGID 01004 (txt), IBM
- ^ Боргендейл, Кен (2001). «Кодовая страница 1004 — Windows Extended». Кодовые страницы OS/2 по номеру . Архивировано из оригинала 13 мая 2018 г. Проверено 13 мая 2018 г.(версия основана на текущей версии Windows-1252)
- ^ Стораасли, Олаф (1996). «Эффективность решателей уравнений НАСА в приложениях вычислительной механики» (PDF) . Производительность решателей уравнений НАСА в приложениях вычислительной механики . НАСА. дои : 10.2514/6.1996-1505. S2CID 15711051. Архивировано из оригинала (PDF) 03 мая 2019 г.
- ^ ab «Глава 13: Локализованные приложения». Помощник программиста Palm OS (PDF) . Компьютерная платформа Palm. 16 марта 2000 г. с. 321.
- ^ abcdefg «Приложение B: Руководство по совместимости». Справочник по SDK для Palm OS (PDF) . Компьютерная платформа Palm. 16 марта 2000 г., стр. 1181–1182.
- ^ abcdefghi Валлей, Линус. «Наборы символов Palm Pilot и сопоставления Юникода». GNU-перекодирование . Datorföreningen vid Lunds Universitet и Lunds Tekniska Högskola . Проверено 10 октября 2023 г.
- ^ abc Паркер, Грег. «Встроенные шрифты Palm OS». Программное обеспечение Сили . Проверено 10 октября 2023 г.
- ^ «кодеки — реестр кодеков и базовые классы (§ Кодировки текста)» . Стандартная библиотека Python — Документация по Python 3.9.4 . Фонд программного обеспечения Python .
- ^ аб Маллендер, Сьерд (13 июля 2002 г.). «Кодек преобразования символов Python для Palm OS 3.5». Дерево исходного кода CPython . Фонд программного обеспечения Python . Проверено 9 декабря 2021 г.
Внешние ссылки
- Таблицы кодов Microsoft для Windows-1252 («Кодовая страница 1252 Windows Latin 1 (ANSI)»)
- Таблица сопоставлений Юникода и определение кодовой страницы с наиболее подходящими сопоставлениями для Windows-1252.